A brief history of Erlang's BEAM compiler (2018)
10 months ago
- #Compiler
- #BEAM
- #Erlang
- The first version of Erlang was implemented in Prolog in 1986.
- JAM (Joe’s Abstract Machine) was created in 1989, making Erlang 70 times faster.
- TEAM (Turbo Erlang Abstract Machine) compiled Erlang to C but was slow and produced large binaries.
- BEAM (Bogdan’s Erlang Abstract Machine) was a hybrid machine executing both native and threaded code.
- VEE (Virding’s Erlang Engine) used a single shared heap but didn't improve speed over JAM.
- OTP R1B was released in 1996, marking the industrialization of Erlang.
- BEAM/C was eventually dropped due to complexity and bugs.
- The BEAM instruction set was simplified and stabilized using the beam_makeops script.
- OTP R5 introduced the modern BEAM file format and dropped JAM support.
- Kernel Erlang was introduced in R6B, improving optimizations.
- Core Erlang was introduced in R7B as a new intermediate format.