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?
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:
A great crash course to OTP (which is the sort of erlang stdlib/framework for concurrency) for Elixirists is Designing Elixir Systems with OTP.
Learn You Some Erlang is an introduction to erlang itself, but also dives into OTP a bunch.
Also by Fred Hébert, Erlang in Anger is a great resource for debugging and fine-tuning your running systems.