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

ariandanim
Hello all, I am still learning Elixir, then go into Phoenix, i am try search in google but find the programming phoenix 1.4, another for...
New
Yoga
Or at least, in the works? All I can find are bits and pieces but not a single project from start to finish. Including things like i18n,...
New
RKC07
I’m new to elixir. I did some coding in python and C. I want to learn elixir for starting my career in web development. I need suggestion...
New
SavagePixie
I was wondering if there are any beginner-friendly, exercise-based resources for learning Elixir out there. I’m looking for something lik...
New
markdev
What are the best beginner resources for learning Elixir and OTP (not Phoenix) in 2018?
New
asfand
Hi Everyone, I am a student and know basics of web development, used some php and ruby, but I am not an expert in any. I want to learn E...
New
TwistingTwists
I want to learn DSL. Don’t know how to write one. What;s the best introductory resource? I see some macro being used here. Is DSL only ...
New
Chawki
Hi,i’m new to elixir. i’m searching elixir small programs to try it out my self,Is any good resources out there? Thank you.
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
Twfo326
As a novice dev I’m trying to keep the curriculum as lean as possible. My requirements are modest: build simple CRUD apps with Phoenix...
New

Other popular topics Top

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
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New

We're in Beta

About us Mission Statement