Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
329 views
in Technique[技术] by (71.8m points)

bootstrapping - 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.

  • VM and HW interacting drivers: in C.
  • Compiler (to VM) and libraries: in Erlang.
  • Extensions: Possible in any language by writing a port or an Erlang node in that language.
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...