BEAM (Erlang Virtual Machine)
   HOME

TheInfoList



OR:

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 hardw ...
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 comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
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 Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in informat ...
. 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 Application virtualization software refers to both application virtual machines and software responsible for implementing them. Application virtual machines are typically used to allow application bytecode to run portably on many different comput ...
*
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 website

A History of Erlang



The BEAM Book
by Erik Stenman {{Authority control Erlang (programming language) Programming language implementation Register-based virtual machines *