简体   繁体   中英

What does BEAM stand for in iex for the Elixir programming language?

What do the letters BEA and M. stand for? I recall seeing an explanation of the acronym "BEAM", but I have not managed to find it again.

It comes up in error codes:

➜  gentoo  iex
Erlang/OTP 17 [erts-6.4.1] [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false]

Interactive Elixir (1.0.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> import Math

08:05:02.839 [error] Loading of /var/opt/proj/elx/ubuntu/Elixir.Math.beam failed: :badfile

** (CompileError) iex:1: module Math is not loaded and could not be found

08:05:02.846 [error] beam/beam_load.c(1104): Error loading module 'Elixir.Math':
  non-ascii garbage '78705400' instead of chunk type id


    (elixir) src/elixir_exp.erl:123: :elixir_exp.expand/2
iex(1)> 

So, it looks like there's some sort of problem with a .beam file, probably due to my use of vi. (Note to notive Elixir programmers: Do not edit .beam files, it is painful.)

This question explains what the BEAM virtual machine is , but not what the letters stand for. And it seems difficult to find out much about the etymology quick or to the point on Erlang central . Supposedly BEAM is the secret sauce of Erlang and Elixir both.

It stands for "Bogdan/Björn's Erlang Abstract Machine" - it is just the name of the VM, much like JVM (Java Virtual Machine).

Almost everyone uses "the new BEAM", where BEAM stands for Bogdan/Björn's Erlang Abstract Machine. This is the virtual machine supported in the commercial release.

http://www.erlang.org/faq/implementations.html

The name probably finds its routes from the Warren Abstract Machine - an abstract instruction set for Prolog which you can read about at: http://en.wikipedia.org/wiki/Warren_Abstract_Machine

The WAM influenced JAM (Joe Abstract Machine - named after Joe Armstrong) which was the precursor to BEAM.

You can read more in the "the development of Erlang" article on the Erlang website .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM