3 ms·
>>Elixir depends on the decades of development behind the Erlang VM and in many ways is just syntactic sugar on top of Erlang/OTP I think calling Elixir "just
by enraged_camel 9y ago
>>Elixir depends on the decades of development behind the Erlang VM and in many ways is just syntactic sugar on top of Erlang/OTP
I think calling Elixir "just syntactic sugar" is a gross and unfair oversimplification. While friendly syntax is one of its welcoming qualities, Elixir is its own language. It doesn't "transpile" into Erlang. It compiles down to bytecode.
- rubiquity 9y agoI agree with your post because Elixir has brought so much beyond syntax to the BEAM such as tool aesthetics and community building. However, Elixir does not compile to BEAM bytecode directly. The compiler emits Erlang terms first which are then compiled to bytecode.
- dmitriid 9y agohttps://medium.com/@fxn/how-does-elixir-compile-execute-code-c1b36c9ec8cf https://medium.com/@fxn/how-does-elixir-compile-execute-code... Elixir creates an AST which is transformed into Erlang Abstract Format (http://erlang.org/doc/apps/erts/absform.html http://erlang.org/doc/apps/erts/absform.html) which is then compiled into Erlang bytecode by Erlang compiler. Erlang VM's bytecode is largely undocumented (except for third-party attempts like http://erlangonxen.org/more/beam http://erlangonxen.org/more/beam and http://beam-wisdoms.clau.se/en/latest/ http://beam-wisdoms.clau.se/en/latest/). So all languages on the Erlang VM either create and compile Erlang Abstract Format or transpile to Core Erlang (https://8thlight.com/blog/kofi-gumbs/2017/05/02/core-erlang.html https://8thlight.com/blog/kofi-gumbs/2017/05/02/core-erlang....)
- gootik 9y agoDon't forget about https://github.com/happi/theBeamBook https://github.com/happi/theBeamBook
- kureikain 9y agoWhen Elixir first came, I think like you. Eventually I try to do something with Elixir. Then suddenly everything is so good. The whole experience how I create a new project with `mix`, get dependencies, build, compile, run `repl` was so much better than rebar. To me, `mix` is the greatest tool. I don't see something like mix in other languages, except Clojure and Leiningen. The community around Elixir is awesome too. It's very different from Erlang type. I have a hard time to find library and stuff in Erlang before. I don't have a central place to look for that. Elixir brough me hex.pm. I personally like Erlang syntax, I think it's short and concise. But I end up like Elixir much more than Erlang.
- rs86 9y agoYep much more then syntax. It has great metaprogramming support, better records and polymorphism support.