Hi I opened this repo to the public today (April 7) to share it with some students. I was giving a lecture about the BEAM at Chalmers. I didn't think anyone else would notice. I was not planning to release this for real yet since the repo currently just contains bits and pieces from several different versions of the book that I have been writing.
I hope to bring in more chapters and fill out the existing chapters in the weeks to come, but please feel free to comment and correct any errors you find. The plan is to make this into a collaborate effort so that we can get a complete documentation of the Erlang Runtime system as soon as possible.
Anyway, it is finally out in the public, warts and all.
Welcome to the site, please contribute.
A description of the Erlang Runtime System ERTS and the virtual Machine BEAM.
This is an attempt to document how the internals of the Erlang Runtime System work.
Please feel free to contribute since this work is far from done, and it will probably never be done since there is continuous development of the Erlang runtime system.
The book is written in AsciiDoc and most of it can be read directly from source on github in your browser. To read the book online just open the file book.asciidoc.
You can also read or download the book as a PDF from the latest stable release.
Alternatively you can create your own PDF from the source code following the instructions below.
To build a PDF version of the book from source, simply run:
make
Since the above command requires a number of dependencies (including erlang, asciidoc and dblatex), a Docker image containing everything which is needed to build the book from source is provided. To use it:
docker pull robertoaloi/docker-thebeambook:latest
docker run -v $PWD:/book robertoaloi/docker-thebeambook make
- Install MacTex. Note that you would need to full MacTex rather than just BasicTex.
- Add
/Library/TeX/texbin
to yourPATH
. easy_install dblatex
- Install asciidoc
- Install source-highlight
- Install wget
make
brew install Caskroom/cask/mactex
- Add
/Library/TeX/texbin
to yourPATH
. sudo easy_install dblatex
brew install asciidoc
brew install source-highlight
brew install wget
make
- Bring in missing chapters [Happi]
- Bring in missing text in the process and scheduler chapters [Happi]
- Fix the mess caused by mergin two different versions into the first chapters [Happi]
- Go over the new outline [Happi]
- Fix links
- Add images
- Fix build system for ascii-art
- Links to OTP code on github
- Add some kind of forum/wiki to discuss what needs to be done
- Fix the gdb examples to use the "new" gdb macros provided by OTP.
- Index