BEAM is the
virtual machine
In computing, a virtual machine (VM) is the virtualization/ emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer. Their implementations may involve specialized har ...
at the core of the
Erlang Open Telecom Platform
OTP is a collection of useful middleware, libraries, and tools written in the Erlang programming language. It is an integral part of the open-source distribution of Erlang. The name OTP was originally an acronym for Open Telecom Platform, which w ...
(OTP).
BEAM is part of the Erlang
Run-Time System (ERTS), which compiles Erlang
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
into
bytecode
Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
, which is then executed on the BEAM.
BEAM bytecode files have the
.beam
file extension.
Originally BEAM was short for ''Bogdan's Erlang Abstract Machine'', named after Bogumil "Bogdan" Hausman, who wrote the original version, but the name may also be referred to as ''Björn's Erlang Abstract Machine'', after Björn Gustavsson, who wrote and maintains the current version.
Both developers worked on the system while at
Ericsson
(lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Sweden, Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in ...
.
The predecessor of the BEAM was JAM (Joe's Abstract Machine), which was the first virtual machine for the Erlang language and was written by
Joe Armstrong.
See also
*
Comparison of application virtual machines
*
Register machine
In mathematical logic and theoretical computer science a register machine is a generic class of abstract machines used in a manner similar to a Turing machine. All the models are Turing equivalent.
Overview
The register machine gets its name from ...
References
External links
Erlang websiteA History of ErlangThe BEAM Bookby Erik Stenman
{{Authority control
Erlang (programming language)
Programming language implementation
Register-based virtual machines
*