Skip to content

A description of the Erlang Runtime System ERTS and the virtual Machine BEAM.

License

Notifications You must be signed in to change notification settings

mpmiszczyk/theBeamBook

Repository files navigation

Hi

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.

About this book

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 can be read directly on github in your browser or you can create a pdf from the source code.

To read the book online just open the file book.asciidoc.

Building on Linux

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

Building on Mac OSX

  1. Install MacTex. Note that you would need to full MacTex rather than just BasicTex.
  2. Add /Library/TeX/texbin to your PATH.
  3. easy_install dblatex
  4. make

TODO

  • 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

About

A description of the Erlang Runtime System ERTS and the virtual Machine BEAM.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Erlang 78.3%
  • C 11.0%
  • Makefile 4.1%
  • Assembly 3.0%
  • Elixir 1.8%
  • E 0.9%
  • Other 0.9%