Hacker News new | past | comments | ask | show | jobs | submit login




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.

[0] https://github.com/barrel-db/rebar3_elixir_compile


Hex is going to be the main repo for erlang to and rebar3 should be good to use it. You could even just use mix to build an erlang project.


If anyone from Erlang Solutions is around they prob would be most qualified to answer.


Claudio from Erlang Solutions here.

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.


Thank you for the info you guys rock !


Anything more you can tell by now? :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: