Aller au contenu

Louis Pilfold on Building Gleam - Static Types on the BEAM

11 septembre 2026 · 1 h 12 min

Notes de l’épisode

What if the BEAM had a language that felt like talking to a friend instead of fighting a compiler?

That's the problem Louis Pilfold set out to solve. He loved the BEAM. He missed static types. Every other option was a tradeoff he couldn't live with. So he built Gleam - and after years of quietly saying no to everything he wasn't sure about, it's gathered a community, found production users, and now runs on servers, browsers, and $2 microcontrollers.

Topics include:

  • why every successful language is born from a problem - and what specific frustration made Louis start building rather than just complaining

  • the discipline of saying no: no if, no currying, no pretending two targets are one world

  • the design decision Louis regrets most - the conditional compilation syntax he's now stuck with and desperately doesn't want more people to use

  • why Gleam's concurrency model lives in a library rather than the language - and what that buys in terms of flexibility when smarter people eventually improve it

  • how Gleam solved the problem everyone said was unsolvable: "you can't type message passing on the BEAM"

  • what the JavaScript and BEAM targets share and where they genuinely can't be unified - and why pretending they can leads to terrible architecture

  • why Gleam chose Erlang records as its data structure and what that costs at runtime

  • Lustre, Gleam's web framework - beating mainstream JavaScript frameworks in benchmarks while written entirely in Gleam

  • how Louis funds his work on Gleam: GitHub Sponsors, the Gleam community, and what sustainable open source actually looks like from the inside

  • what Gleam will look like in 3–5 years - native records, better JavaScript interop, and why the language's approach to stability makes those changes possible

Recorded August 20, 2026.

Resources mentioned:

  • gleam.run - docs, tour, community

  • tour.gleam.run - interactive language tour running the Gleam compiler compiled to Wasm, takes an afternoon

  • Exercism Gleam track

  • Code Crafters - build Redis/SQLite/Git in Gleam

  • GitHub Sponsors: lpil (Louis Pilfold)

  • Lustre - Gleam's web framework

Tous les épisodes de BEAM There, Done That

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.