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

hirotnk/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 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.

Building from source

Docker

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

Linux

make

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. Install asciidoc
  5. Install source-highlight
  6. Install wget
  7. make

Mac OSX (using brew)

  1. brew install Caskroom/cask/mactex
  2. Add /Library/TeX/texbin to your PATH.
  3. sudo easy_install dblatex
  4. brew install asciidoc
  5. brew install source-highlight
  6. brew install wget
  7. 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 72.3%
  • C 9.8%
  • Ruby 6.8%
  • Makefile 4.9%
  • Assembly 2.8%
  • Elixir 1.7%
  • Other 1.7%