25:
900:
596:
43:
458:
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 is
446:
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
936:
699:
385:
511:
466:
941:
494:
931:
630:
572:
439:, after Björn Gustavsson, who wrote and maintains the current version. Both developers worked on the system while at
61:
476:
219:
378:
462:, which had more responses than Erlang itself in the 2023 Stackoverflow survey. Other notable examples include:
435:, named after Bogumil "Bogdan" Hausman, who wrote the original version, but the name may also be referred to as
459:
406:
747:
482:
312:
600:
120:
498:
488:
447:
371:
273:
39:
946:
236:
207:
136:
291:
213:
344:
269:
148:
678:
359:
318:
96:
905:
723:
409:
241:
224:
126:
77:
297:
8:
654:
113:
636:
626:
578:
568:
516:
91:
402:
257:
153:
413:
231:
131:
925:
640:
582:
916:
186:
106:
910:
417:
327:
308:
176:
171:
143:
539:
501:
on the BEAM, designed and implemented by one of the creators of Erlang
772:
191:
868:
597:"Most Popular Programming Languages of 2018 - Elite Infoworld Blog"
440:
424:, which is then executed on the BEAM. BEAM bytecode files have the
421:
181:
101:
34:
provides insufficient context for those unfamiliar with the subject
796:
700:"Serialization series — Do you speak Erlang ETF or BERT? (part 1)"
470:
322:
278:
567:. Merritt, Eric., Carlsson, Richard. Stamford, CT: Manning Pub.
491:, Lisp Flavored Erlang, a lisp frontend for the Erlang compiler
303:
844:
354:
350:
287:
282:
895:
479:, a language for large-scale scientific data analysis
820:
906:
The Erlang BEAM Virtual
Machine Specification, 1997
485:, a statically typed functional language for BEAM
923:
379:
16:Virtual machine in the Open Telecom Platform
917:Languages, and about languages, on the BEAM
534:
532:
512:Comparison of application virtual machines
386:
372:
62:Learn how and when to remove this message
697:
620:
562:
556:
529:
924:
748:"Stack Overflow Developer Survey 2023"
614:
623:Building web applications with Erlang
44:providing more context for the reader
18:
937:Programming language implementation
770:
679:"Confirmed Errata | O'Reilly Media"
13:
412:(OTP). BEAM is part of the Erlang
337:Notable compilers & toolchains
14:
958:
889:
453:
698:Kerjouan, Mathieu (2017-07-17).
433:Bogdan's Erlang Abstract Machine
23:
942:Register-based virtual machines
861:
837:
813:
789:
764:
437:Björn's Erlang Abstract Machine
740:
716:
691:
671:
647:
589:
431:Originally BEAM was short for
416:(ERTS), which compiles Erlang
1:
932:Erlang (programming language)
724:"Erlang BEAM Instruction Set"
522:
599:. 2018-03-30. Archived from
294:target-specific initializer)
7:
540:"The Erlang Runtime System"
505:
121:Intermediate representation
10:
963:
621:Zachary., Kessin (2012).
565:Erlang and OTP in action
563:Martin., Logan (2011).
345:GNU Compiler Collection
270:Common Language Runtime
200:Compilation strategies
625:. Beijing: O'Reilly.
410:Open Telecom Platform
225:Compile and go system
298:Java virtual machine
220:Tracing just-in-time
901:A History of Erlang
405:at the core of the
114:Optimizing compiler
40:improve the article
396:
395:
78:Program execution
72:
71:
64:
954:
947:Virtual machines
883:
882:
880:
879:
865:
859:
858:
856:
855:
841:
835:
834:
832:
831:
817:
811:
810:
808:
807:
793:
787:
786:
784:
783:
768:
762:
761:
759:
758:
744:
738:
737:
735:
734:
720:
714:
713:
711:
710:
695:
689:
688:
686:
685:
675:
669:
668:
666:
665:
651:
645:
644:
618:
612:
611:
609:
608:
593:
587:
586:
560:
554:
553:
551:
550:
536:
517:Register machine
428:file extension.
427:
388:
381:
374:
250:Notable runtimes
237:Transcompilation
84:General concepts
74:
73:
67:
60:
56:
53:
47:
27:
26:
19:
962:
961:
957:
956:
955:
953:
952:
951:
922:
921:
913:by Erik Stenman
892:
887:
886:
877:
875:
867:
866:
862:
853:
851:
843:
842:
838:
829:
827:
819:
818:
814:
805:
803:
795:
794:
790:
781:
779:
771:Facorro, Juan.
769:
765:
756:
754:
746:
745:
741:
732:
730:
722:
721:
717:
708:
706:
696:
692:
683:
681:
677:
676:
672:
663:
661:
653:
652:
648:
633:
619:
615:
606:
604:
595:
594:
590:
575:
561:
557:
548:
546:
544:happi.github.io
538:
537:
530:
525:
508:
456:
425:
414:Run-Time System
403:virtual machine
392:
272:(CLR) and
258:Android Runtime
154:Virtual machine
68:
57:
51:
48:
37:
28:
24:
17:
12:
11:
5:
960:
950:
949:
944:
939:
934:
920:
919:
914:
908:
903:
898:
896:Erlang website
891:
890:External links
888:
885:
884:
860:
836:
812:
788:
763:
752:Stack Overflow
739:
728:www.cs-lab.org
715:
690:
670:
646:
631:
613:
588:
573:
555:
527:
526:
524:
521:
520:
519:
514:
507:
504:
503:
502:
492:
486:
480:
474:
455:
454:BEAM Languages
452:
394:
393:
391:
390:
383:
376:
368:
365:
364:
363:
362:
357:
348:
339:
338:
334:
333:
332:
331:
325:
316:
306:
301:
295:
285:
276:
267:
261:
252:
251:
247:
246:
245:
244:
239:
234:
232:Precompilation
229:
228:
227:
222:
211:
202:
201:
197:
196:
195:
194:
189:
184:
179:
174:
166:
165:
161:
160:
159:
158:
157:
156:
151:
146:
141:
140:
139:
132:Runtime system
124:
118:
117:
116:
111:
110:
109:
94:
86:
85:
81:
80:
70:
69:
31:
29:
22:
15:
9:
6:
4:
3:
2:
959:
948:
945:
943:
940:
938:
935:
933:
930:
929:
927:
918:
915:
912:
911:The BEAM Book
909:
907:
904:
902:
899:
897:
894:
893:
874:
870:
864:
850:
846:
840:
826:
822:
816:
802:
798:
792:
778:
774:
767:
753:
749:
743:
729:
725:
719:
705:
701:
694:
680:
674:
660:
656:
650:
642:
638:
634:
632:9781449309961
628:
624:
617:
603:on 2018-05-09
602:
598:
592:
584:
580:
576:
574:9781933988788
570:
566:
559:
545:
541:
535:
533:
528:
518:
515:
513:
510:
509:
500:
496:
493:
490:
487:
484:
481:
478:
475:
472:
468:
465:
464:
463:
461:
451:
449:
448:Joe Armstrong
444:
442:
438:
434:
429:
423:
419:
415:
411:
408:
404:
400:
389:
384:
382:
377:
375:
370:
369:
367:
366:
361:
358:
356:
352:
349:
346:
343:
342:
341:
340:
336:
335:
329:
326:
324:
320:
317:
314:
310:
307:
305:
302:
299:
296:
293:
289:
286:
284:
280:
277:
275:
271:
268:
265:
262:
259:
256:
255:
254:
253:
249:
248:
243:
242:Recompilation
240:
238:
235:
233:
230:
226:
223:
221:
218:
217:
215:
212:
209:
208:Ahead-of-time
206:
205:
204:
203:
199:
198:
193:
190:
188:
185:
183:
180:
178:
175:
173:
170:
169:
168:
167:
164:Types of code
163:
162:
155:
152:
150:
147:
145:
142:
138:
135:
134:
133:
130:
129:
128:
125:
122:
119:
115:
112:
108:
105:
104:
103:
100:
99:
98:
95:
93:
90:
89:
88:
87:
83:
82:
79:
76:
75:
66:
63:
55:
45:
41:
35:
32:This article
30:
21:
20:
876:. Retrieved
872:
863:
852:. Retrieved
848:
839:
828:. Retrieved
824:
815:
804:. Retrieved
800:
791:
780:. Retrieved
776:
766:
755:. Retrieved
751:
742:
731:. Retrieved
727:
718:
707:. Retrieved
703:
693:
682:. Retrieved
673:
662:. Retrieved
658:
655:"erlang/otp"
649:
622:
616:
605:. Retrieved
601:the original
591:
564:
558:
547:. Retrieved
543:
469:, a port of
457:
445:
436:
432:
430:
398:
397:
263:
214:Just-in-time
187:Machine code
107:Compile time
58:
49:
38:Please help
33:
797:"Cuneiform"
418:source code
328:Zend Engine
309:Objective-C
177:Object code
172:Source code
149:Interpreter
97:Translation
926:Categories
878:2024-01-09
854:2024-01-09
830:2024-01-09
806:2024-01-09
782:2024-01-09
757:2024-01-09
733:2018-05-06
709:2018-05-06
684:2018-05-06
664:2018-05-06
607:2018-05-08
549:2018-05-05
523:References
144:Executable
801:Cuneiform
773:"Clojerl"
641:802882644
583:747046900
477:Cuneiform
353:and
321:and
311:and
281:and
192:Microcode
127:Execution
52:June 2018
506:See also
441:Ericsson
422:bytecode
266:(Erlang)
182:Bytecode
102:Compiler
869:"luerl"
821:"Gleam"
473:to BEAM
471:Clojure
467:Clojerl
401:is the
323:Node.js
279:CPython
137:Runtime
873:GitHub
849:GitHub
777:GitHub
704:Medium
659:GitHub
639:
629:
581:
571:
460:Elixir
407:Erlang
304:LuaJIT
216:(JIT)
845:"LFE"
825:Gleam
495:Luerl
483:Gleam
426:.beam
420:into
355:Clang
347:(GCC)
330:(PHP)
313:Swift
300:(JVM)
260:(ART)
210:(AOT)
637:OCLC
627:ISBN
579:OCLC
569:ISBN
399:BEAM
360:MSVC
351:LLVM
288:crt0
283:PyPy
274:Mono
264:BEAM
123:(IR)
92:Code
499:Lua
489:LFE
42:by
928::
871:.
847:.
823:.
799:.
775:.
750:.
726:.
702:.
657:.
635:.
577:.
542:.
531:^
497:,
450:.
443:.
319:V8
315:'s
881:.
857:.
833:.
809:.
785:.
760:.
736:.
712:.
687:.
667:.
643:.
610:.
585:.
552:.
387:e
380:t
373:v
292:C
290:(
65:)
59:(
54:)
50:(
46:.
36:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.