Lumen and Eir
summary
Lumen is a compiler and runtime that compiles Elixir/Erlang to WebAssembly and native, using Eir as a unified IR that is a hybrid SSA/CPS (based on the Thorn-style paper). It compiles ahead-of-time with no hot code reloading, enabling whole-program dead-code elimination, aggressive cross-module inlining and type specialization. Pipeline reads Erlang/Abstract Erlang, lowers to Eir, runs passes like graph simplification, closure inlining, pattern-match compilation and lambda-mangling driven tail-call elimination, then lowers to MLIR/LLVM and WebAssembly backends.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:04Lumen
- 8:41Compiler
- 15:16CI
- 18:21IEIR
- 22:13Why IEIR
- 23:46IEIR Cleanup
- 26:10Compiler Passes
- 28:39Conclusion
related talks
19mLumen
44mLumen - Bringing the BEAM to WebAssembly and Beyond
43mLivecoding a WebAssembly interpreter
26mAn MLIR Dialect for WebAssembly
54mKeynote: Adoption
37mLucet: Safe WebAssembly Outside the Browser
44mLFE - a lisp flavour on the Erlang VM
54mLucet: A Compiler and Runtime for High-Concurrency Low-Latency Sandboxing
