Skip to content

Routemap source tree

thijsterlouw edited this page Sep 13, 2010 · 20 revisions

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.

/erts/ ERTS

Erlang Run-Time System Application.This tree includes the virtual machine, the garbage collector, and the port mapper daemon.

/erts/emulator/beam/

Erlang’s Beam VM: contains .c and .h files such as:

  1. erl_process.c,
  2. beam_emu.c,
  3. erl_driver.h,
  4. io.c,
  5. bif.c
  6. erl_bif_port.c,
  7. erl_alloc.c (doc)

/erts/emulator/drivers/common/

  1. inet_drv.c

/erts/emulator/hipe/common/

Erlang’s native code compiler. Interaction between Beam and Native code

/erts/emulator/preloaded/src/

  1. prim_inet.erl

/lib/

Contains the Erlang libraries. That means: lots of files written in Erlang code to implement lots of functions you use every day.

contains lots of applications written in Erlang code
h3. /lib/kernel/src/

  1. application.erl
  2. gen_tcp.erl
  3. heart.erl
  4. inet.erl

/lib/stdlib/src/

  1. array.erl,
  2. dict.erl,
  3. ets.erl,
  4. gen_server.erl
  5. io.erl,
  6. timer.erl,
  7. unicode.erl

Note: feel free to edit and point out more interesting parts of the source code.

Clone this wiki locally