4 ms·
What is it about Erlang's AST, that attracts so many language designers?
by dynamite-ready 6y ago
What is it about Erlang's AST, that attracts so many language designers?
- miloandmilk 6y agoNot an expert - so just a guess, might be more to do with the advantages the BEAM provides?
- sigwinch28 6y agoI don't think it's the AST: I think it's the BEAM itself. The intermediate representations used in (and even accepted as input formats by) the compiler are relatively unstable, with the exception of the Erlang Abstract Format. This makes it a great target for other compilers because they don't have to track breaking changes to the intermediate formats, they don't have to worry about generating BEAM bytecode, and they get to take advantage of all optimisations already implemented in erlc (the Erlang compiler). As an example of recent amazing changes to the BEAM: JIT to x86_64 https://github.com/erlang/otp/pull/2745 https://github.com/erlang/otp/pull/2745
- laser 6y agoPerhaps it's a lot more than the AST that's attracting them? Like maybe the actor model (genservers)? Or OTP overall as a great platform for building self-healing, fast, distributed, functional systems? Or Immutability? There's lots of things to like about building on a foundation like Erlang.
- rkangel 6y agoThe BEAM provides an unmatched concurrency model and related infrastructure. Targeting a language at it gets you all the benefits of that language plus all of the fundamental work done to build distributed systems. Another way of looking at it: almost nothing that is important or wonderful about writing Erlang is the language itself. Most of what people rave about is the BEAM. This means you can fairly easily throw out the language and use a different one and get all the benefit. Now that I'm thinking about it - that last point is a spectacular achievement of design and abstraction.
- marianoguerra 6y agoThe target language is really simple and all the tooling for the erlang compiler itself is in the standard library. so it's easy to get started, easy to get something usable quick and easy to see how it's used in real stuff.