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 is written mostly in C.
    6. Linked-in drivers are written mostly in C. (They are plugged to VM and serves communication with outside world.)
    7. OTP is written in Erlang.
    8. Another ports or nodes can be written in any language.