elt547

elt547

Closest thing to "Ruby Under a Microscope" for Elixir

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?

Most Liked

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

The BEAM Book: Understanding the Erlang Runtime System is a fantastic resource for understanding the BEAM itself. It’s focused on erlang but it applies equally to Elixir.

christhekeele

christhekeele

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:

  1. 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!
  2. 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!
  3. 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.

Where Next?

Popular in Chat/Questions Top

pillaiindu
I am a VSCode and Sublime user and I know VIM, though I don’t use VIM directly but whenever I code inside Sublime or VSCode, I use Vim em...
New
markdev
What are the best beginner resources for learning Elixir and OTP (not Phoenix) in 2018?
New
phykos
In Ruby, which is very similar to Elixir I do this: def test yield end test do puts("sup there") end Here, the yield keyword will be...
New
dopomecana
The title of this topic may sound silly at the first glance. But why I trying to ask you guys is how to go to the next level? I am curre...
New
AstonJ
It finally feels like I’ve got some time to catch up on my reading - though I am sure lots of people will be wondering the same: what are...
New
marciol
Hey, I have very restricted resources and time so I’m trying to understand the best way to learn Liveview in terms of cost/time. The Pra...
New
ca1989
Hi all, is there any up to date resource out there (blog, talk, video, book…) about deploying elixir applications using releases? In pa...
New

Other popular topics Top

JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40165 209
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 44265 214
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

We're in Beta

About us Mission Statement