Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

BEAM (Erlang virtual machine)

From Wikipedia, the free encyclopedia
Virtual machine in the Open Telecom Platform
This articleprovides insufficient context for those unfamiliar with the subject. Please helpimprove the article byproviding more context for the reader.(June 2018) (Learn how and when to remove this message)
Program execution
General concepts
Types of code
Compilation strategies
Notable runtimes
Notable compilers & toolchains

BEAM is thevirtual machine at the core of theErlangOpen Telecom Platform (OTP).[1] BEAM is part of the ErlangRun-Time System (ERTS), which compiles Erlangsource code intobytecode, which is then executed on the BEAM.[2][3] BEAM bytecode files have the.beam file extension.[4]

Originally BEAM was short forBogdan's Erlang Abstract Machine, named after Bogumil "Bogdan" Hausman, who wrote the original version, but the name may also be referred to asBjörn's Erlang Abstract Machine, after Björn Gustavsson, who wrote and maintains the current version.[1][5][6] Both developers worked on the system while atEricsson.[7][8]

The predecessor of the BEAM was JAM (Joe's Abstract Machine), which was the first virtual machine for the Erlang language and was written byJoe Armstrong and Mike Williams in theC language.[9]

BEAM languages

[edit]

Although BEAM was created for Erlang, several other languages have been either created for it or ported to run on it. The most popular of these isElixir, which had more responses than Erlang itself in a 2023Stack Overflow developer survey.[10] Other notable examples include:

  • Clojerl,[11] a port ofClojure to BEAM
  • Cuneiform,[12] a language for large-scale scientific data analysis
  • Gleam,[13] a statically typed functional language for BEAM
  • LFE,[14] Lisp Flavored Erlang, a lisp frontend for the Erlang compiler
  • Luerl,[15]Lua on the BEAM, designed and implemented by one of the creators of Erlang

See also

[edit]

References

[edit]
  1. ^ab"The Erlang Runtime System".happi.github.io. Retrieved2018-05-05.
  2. ^Martin., Logan (2011).Erlang and OTP in action. Merritt, Eric., Carlsson, Richard. Stamford, CT: Manning Pub.ISBN 9781933988788.OCLC 747046900.
  3. ^"Most Popular Programming Languages of 2018 - Elite Infoworld Blog". 2018-03-30. Archived fromthe original on 2018-05-09. Retrieved2018-05-08.
  4. ^Zachary., Kessin (2012).Building web applications with Erlang. Beijing: O'Reilly.ISBN 9781449309961.OCLC 802882644.
  5. ^"erlang/otp".GitHub. Retrieved2018-05-06.
  6. ^"Confirmed Errata | O'Reilly Media". Retrieved2018-05-06.
  7. ^Kerjouan, Mathieu (2017-07-17)."Serialization series — Do you speak Erlang ETF or BERT? (part 1)".Medium. Retrieved2018-05-06.
  8. ^"Erlang BEAM Instruction Set".www.cs-lab.org. Retrieved2018-05-06.
  9. ^Armstrong, Joe (2007-06-09)."A history of Erlang".Proceedings of the third ACM SIGPLAN conference on History of programming languages. HOPL III. New York, NY, USA: Association for Computing Machinery. pp. 6–1–6–26.doi:10.1145/1238844.1238850.ISBN 978-1-59593-766-7.
  10. ^"Stack Overflow Developer Survey 2023".Stack Overflow. Retrieved2024-01-09.
  11. ^Facorro, Juan."Clojerl".GitHub. Retrieved2024-01-09.
  12. ^"Cuneiform".Cuneiform. Retrieved2024-01-09.
  13. ^"Gleam".Gleam. Retrieved2024-01-09.
  14. ^"LFE".GitHub. Retrieved2024-01-09.
  15. ^"luerl".GitHub. Retrieved2024-01-09.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=BEAM_(Erlang_virtual_machine)&oldid=1286477280"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp