Getting each stage of Elixir's compilation all the way to the BEAM bytecode

This is how I interpret it anyway. I haven’t worked with the Elixir compiler so the person you really need to ask is @josevalim.

There are actually 2 passes between core and bytecode: kernel and life. The kernel pass converts it to kernel erlang where the code has been flattened, lambda lifted and the pattern matching has been compiled. The life pass does life time analysis of variables.

5 Likes