Erlang in the Browser
summary
A hobby project implements a tiny Erlang VM in 5,000 lines of JavaScript that runs BEAM opcodes, understands enough of the .beam format to execute code and call into the DOM, and loads modules singly or as a tarball. It links to a normal node over socketjs using Erlang term encoding and can drive common_test across browser nodes. Performance is roughly 10–20x slower and uses about 4x memory, with no hot code loading and incomplete ETS.
AI-written summary · about
chapters (16)
- 0:00Intro
- 1:45Outline
- 2:45What is it?
- 5:15Why?
- 6:30Behind the scenes
- 7:35The BEAM file loader
- 10:44The Emulator main loop
- 12:54Built in functions - BIFs
- 15:26Distribution mechanism
- 16:44Test Setup using Distribution
- 17:57Experiences
- 21:16Characteristics
- 24:14Near future plans
- 27:26Future plans - AKA wild ideas
- 29:55Show me the code...
- 30:10Contributing?
related talks
39mFireside on making a typed language on the BEAM
46mBuilding a Graphical IDE in Elm/Purescript (...)
36mBuilding a Graphical IDE in Elm (...)
22mHologram: The Journey to Local-First Elixir in the Browser
44mElmrang Connect
44mThe NeverEnding Application
59mEmscripten and asm.js: C++'s role in the modern web
32mJavaScript is the new metal the cloud vs the browser
