BEAM in the Browser with Lumen: Motivations & Constraints
Preface
This article is the first in a short series aiming to - unofficially - transcribe and interpret Paul Schoenfelder’s excellent talk introducing Lumen - an alternative BEAM implementation written in Rust.
My hope is that writing these might assist me and others with the goal of eventually contributing to the project.
What is Lumen?
Lumen is a new compiler and runtime for Erlang/Elixir being developed thanks to support from DockYard. It’s primarily built around Erlang, but supports Elixir and any other languages which compile to BEAM bytecode.
The central goal of the project is to bring these languages to the browser with all the functionality of the BEAM and the OTP standard library - at least the parts of it worth bringing - by targeting WebAssembly.
Lumen is not:
- A new Elixir-like syntax on top JavaScript.
- An Elixir to JavaScript transpiler.
- An effort to...