Join GitHub today
Routemap source tree
Clone this wiki locally
Erlang OTP is a complex system. It can be a bit hard to find out where to look if you want to know the details of some implementation. This page is a simple routemap to the interesting parts of the Erlang OTP source code. With ‘interesting’ I mean for users who are interested in the internal workings of Erlang for example for performance reasons and networking.
Erlang Run-Time System Application.This tree includes the virtual machine, the garbage collector, and the port mapper daemon. The documentation about ERTS shows that erl_driver, erl_nif, zlib, epmd, erl and erlang all belong to this basic application.
Erlang’s Beam VM: contains .c and .h files such as:
- binary.c, The implementation of Erlang binaries (doc)
- erl_driver.h, Erlang drivers header, much more information in the docs
- bif.c the C implementations for builtin functions in the ‘erlang’ module (doc). It contains for example implementations of erlang:spawn() or erlang:link()
- erl_alloc.c (doc)
- erl_nif.c (doc) – The coolest addition to the R13B03 release, Native Implemented Functions!
Erlang’s native code compiler. Interaction between Beam and Native code
- hipe_bif0.tab ‘Secret’ erlang functions for destructive array operations.
Contains the Erlang libraries. That means: lots of files written in Erlang code to implement lots of functions you use every day.
Note: feel free to edit and point out more interesting parts of the source code.