Episode

30 Years Inside the BEAM: Björn Gustafsson on Building Erlang's Runtime

Podcast
BEAM There, Done That
Published
Jun 26, 2026
Duration seconds
3195
Processing state
not_requested
Canonical source
https://podcasters.spotify.com/pod/show/beamtheredonethat/episodes/30-Years-Inside-the-BEAM-Bjrn-Gustafsson-on-Building-Erlangs-Runtime-e3l40pg
Audio
https://anchor.fm/s/10f787368/podcast/play/121815280/https%3A%2F%2Fd3ctxlq1ktw2nl.cloudfront.net%2Fstaging%2F2026-5-22%2F426590411-44100-2-b06a8c0888f45.mp3
JSON
/v1/public/podcasts/beam-there-done-that-7725251/episodes/30-years-inside-the-beam-bj-rn-gustafsson-on-building-erlang-s-runtime
Markdown
/podcast/beam-there-done-that-7725251/30-years-inside-the-beam-bj-rn-gustafsson-on-building-erlang-s-runtime.md

Actions

  • POST https://stenobird.com/v1/public/podcasts/beam-there-done-that-7725251/episodes/30-years-inside-the-beam-bj-rn-gustafsson-on-building-erlang-s-runtime/transcription-requests
    Idempotently request low-priority transcript generation for this episode.
  • GET https://stenobird.com/podcast/beam-there-done-that-7725251/30-years-inside-the-beam-bj-rn-gustafsson-on-building-erlang-s-runtime.md
    Read the agent-friendly Markdown representation of this episode resource.

Summary

Three engineers. Three different virtual machines. One conversation that started with the JAM and ends with the JIT compiler. Allen Wyma and Francesco Cesarini sit down again with Björn Gustafsson — member of the OTP team since 1996, and the person who has personally shepherded the BEAM through every major transition since taking it over from Bogdan Wódzicki — for a deep dive into 30 years of runtime engineering. Topics include: the three competing virtual machines built in parallel at Ericsson's lab — JAM, Robert Virding's V, and Bogdan's BEAM — and why each one's design choices succeeded or failed a compiler bug that caused random crashes and took weeks to find — and the BEAM Validator that was built specifically so it could never happen again why "turbo Erlang" compiled-to-C delivered a 10-20x sequential speedup on paper that shrank to 2x once concurrency entered the picture, and why that mattered for chip design the BEAM loader — Björn's own invention, still in use today — and why decoupling the compiler from hand-written runtime translation mattered how Björn took over Bogdan's code in 1997 and turned a research prototype into a 30-year production runtime without ever breaking backward compatibility what's coming next: the JIT compiler (next episode), type systems, and a possible episode on the historical and emerging Erlang machines -record(history, { jam, v, turbo_erlang, beam }). If you care about language runtimes, VM design, or how production systems survive three decades of evolution without ever stopping, this episode is for you. Recorded May 26, 2026.