erlangbootstrapping

What is Erlang written in?


What is Ericsson's implementation of Erlang and Erlang/OTP written and compiled in? Is is assembly, C or Erlang itself?

Update 1: Thanks to DrJokepu. If I understand correctly, Erlang source-to-VM compiler is written in Erlang itself. But the VM is written in C.

Update 2: Hynek-Pichi-Vychodil pointed out a lot of details.


Solution

  • Erlang itself is written in Erlang. Sounds strange? Yes, because it is only partially true. OK, look at it in more detail:

    1. Erlang preprocessor is written in Erlang.
    2. Erlang parser is written in Erlang.
    3. Erlang compiler to BEAM (byte-code VM) is written in Erlang.
    4. Erlang compiler to HiPE (native VM extension) is written in Erlang.
    5. Erlang VM BEAM and HiPE are written mostly in C.
    6. Linked-in drivers are written mostly in C. (They are plugged into VM and serve communication with the outside world.)
    7. OTP is written in Erlang.
    8. Another port or node can be written in any language.