Let me ask something from the greatest of the ignorances!

My understanding of the Erlang compilation is that you transform code down 
to BEAM bytecode, going through a number of steps. The VM is register-based 
but even at the opcode level has direct support for Erlang semantics like 
mailboxes. For example, I believe blocking in `receive` basically becomes

    http://erlangonxen.org/more/beam#i_loop_rec

and

    http://erlangonxen.org/more/beam#wait

and friends. Removing a message is

    http://erlangonxen.org/more/beam#remove_message

So, we have some primitive opcodes for working with registers and call 
functions, say, but then something that works at a higher level.

Wouldn't compiling to other targets imply that you need to write all that 
builtin stuff yourself?

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/6c9c436f-a57f-4c3b-8e12-e496e1bd218f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to