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 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

wolfiton
Hi everyone, How can i retrieve the name from a structure like this? %{"id" => "1570", "name" => "Croque Monsieur"} My test loo...
New
Scoty
Hey, I am currently reading Programming Elixir and I am doing one of the exercises where you should write a solution to the “I’m thinkin...
New
loganhelms
A while back, I read a great book by Luis Atencio titled, Functional Programming in JavaScript. In section 7.3, he discusses memoization ...
New
wolfiton
Question: Can someone recommend me some good resources on learning performance for phoenix elixir applications and a design pattern I sh...
New
InkFlo
Hi everyone, This year I’m graduated from Bachelor Degree (in computer science) from France (not really a bachelor, the exact term is “L...
New
davearonson
I am looking for smallish problems to solve, using Elixir concepts beyond the basic syntax and concepts of Elixir as a language, such as ...
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
Nopp
Hello there, i have a lot to read and to learn, but are there some books, that are focussing on how i “should” plan the architecture of ...
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
dogweather
Can anyone recommend books/courses/videos that use real-world Elixir? E.g.: Idiomatic error handling design, whether it’s {ok/error, .....
New

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30048 115
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
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
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New

We're in Beta

About us Mission Statement