I did expect it to be theoretically possible, but how realistic/sensible is it really to do an Erlang project with Elixir libraries or frameworks? Elixir brings a lot of its own tools, conventions and so on. Will it soon take over my project, making it a better option to just use Elixir for everything, or would it be very manageable and not interfere much with the rest?
We use both Erlang and Elixir where I work. We successfully use Erlang libs in our Elixir projects pretty easily. We recently started trying to do the reverse and use an Elixir app inside an existing Erlang app. It has been significantly more work. The main issues have been around dependency management.
I wasn't personally working on this, so I apologize for being fuzzy on the details, but I understand that getting rebar3 to fetch all the deps that would normally be managed by hex was not possible or at least non-trivial. There was talk of having to manually install each dep that you knew the Elixir lib would be requiring.
I think it was sorted into something workable, but if anyone has better understanding I would love to be pointed to some resources!
Had a quick chat this morning with the people that worked on it. The package rebar3_elixir_compile[0] makes this pretty easy. However, our target Elixir lib is not a public hex package, which requires using git submodules.
Not a seamless setup, but it does work. As the sibling comment suggests, perhaps using mix for everything would help.
I'll ask around in the company for more information.
I've worked briefly on wrapping an existing erlang app in a Elixir (Nerves) container and I did have a few issues around dependency management which required small changes here and there, but nothing major.
One area where I usually spend more time than I'd like is to get type specifications in good shape so that dialyzer doesn't report too many warnings, but that gets better with every Erlang/Elixir release.