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.