I really enjoyed the book about ruby’s implementation. I know there’s nothing quite the same for elixir, but is there something in the right direction? At this point I don’t have enough patience to pore over the source haphazardly.
At the same time I constantly find myself running into questions resulting from a lack of understanding of the underlying machine. Is there a collection of “elixir implementation” resources somewhere?
The Erlang Runtime System is a fantastic resource for understanding the BEAM itself. It’s focused on erlang but it applies equally to Elixir.
Not that I know of, though I hope to be proven wrong!
There are really 3 aspects of Elixir’s “implementation” you might be interested in:
The underlying BEAM virtual machine used in both erlang and Elixir:
- The erlang blog has some great posts about this, ex this article.
- The BEAM book already posted is also great!
The erlang-implemented compiler for Elixir, and Elixir’s AST:
- There’s actually… not a lot out there on this. I’ve had to read through, and even tinker with, the compiler before, but there are scarce few resources. That’s reasonable since it’s sort of a private API, but I know I would have loved more resources!
The standard library and related design decisions:
The Elixir blog has some good articles; these days it’s mostly release announcements and case studies, but a few of the earlier ones dig into this a little, ex this article.
It’s far more dialectic than a cohesive presentation of anything, but there’s a decade of language design discussion on the core mailing list. You can search just about anything Elixir and see how it blossomed into being.
Other resources of note: