Listen "23: Gleam and Static Types with Louis Pilfold"
Episode Synopsis
We talk with Louis Pilfold about how he created Gleam, a static typed language that runs on the BEAM. Louis explains some of the challenges with bringing static types to the BEAM and shares ideas on what can possibly be done about it. We learn how Gleam got started, how it works, and how Elixir and Erlang can interop with it. We cover the recently released Gleam OTP work, talk about Type Driven Development and much more!
Show Notes online - http://podcast.thinkingelixir.com/23 (http://podcast.thinkingelixir.com/23)
Elixir Community News
- http://devonestes.com/announcing_muzak (http://devonestes.com/announcing_muzak) – Devon Estes' Muzak mutation testing library
- https://blog.appsignal.com/2020/11/17/announcing-appsignal-for-elixir-integration-2-0.html (https://blog.appsignal.com/2020/11/17/announcing-appsignal-for-elixir-integration-2-0.html) – AppSignal released 2.0 of their reporting tool
- https://github.com/phoenixframework/phoenixliveview/pull/1223 (https://github.com/phoenixframework/phoenix_live_view/pull/1223) – Phoenix LiveView file upload fix for components
- https://github.com/rrrene/credo (https://github.com/rrrene/credo) – Happy 5th birthday Credo!
- https://elixir-lang.org/blog/2020/11/17/real-time-collaboration-with-elixir-at-slab/ (https://elixir-lang.org/blog/2020/11/17/real-time-collaboration-with-elixir-at-slab/) – New Elixir case-study looks at the collaborative wiki product Slab
- https://github.com/teamon/tesla/releases/tag/v1.4.0 (https://github.com/teamon/tesla/releases/tag/v1.4.0) – Tesla v1.4.0 released - an Elixir HTTP client
- https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/119 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/119) – ElixirLS version 0.6.2 released.
- https://dashbit.co/blog/you-may-not-need-redis-with-elixir (https://dashbit.co/blog/you-may-not-need-redis-with-elixir) – Jose Valim wrote a blog post addressing the idea of people saying "you don’t need Redis when you use Elixir".
- https://baremessages.org/ (https://baremessages.org/) – A new "binary serialization library" called "bare". Aims to make Erlang data structures serialize easier in other languages
- https://sr.ht/~hauleth/BARE-Erlang/ (https://sr.ht/~hauleth/BARE-Erlang/)
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/gleam-lang/gleam (https://github.com/gleam-lang/gleam)
- https://gleam.run/ (https://gleam.run/)
- https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/ (https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/)
- https://thinkingelixir.com/podcast-episodes/016-gleam-games-and-types-with-quinn-wilton/ (https://thinkingelixir.com/podcast-episodes/016-gleam-games-and-types-with-quinn-wilton/)
- https://github.com/gleam-lang/gleam/graphs/contributors (https://github.com/gleam-lang/gleam/graphs/contributors)
- https://www.embark-studios.com/ (https://www.embark-studios.com/)
- https://racket-lang.org/ (https://racket-lang.org/)
- https://akka.io/ (https://akka.io/)
- https://developers.google.com/protocol-buffers/ (https://developers.google.com/protocol-buffers/)
- https://github.com/lalrpop/lalrpop (https://github.com/lalrpop/lalrpop)
- http://www.elixir.london/2016/louis-pilfold (http://www.elixir.london/2016/louis-pilfold)
- https://www.youtube.com/watch?v=IONWi9hayEA&index=13&list=PLWbHcFXPo2ivlIjzcaHS9NSwe_0hWj0 (https://www.youtube.com/watch?v=IONWi9hayEA&index=13&list=PLWbHc_FXPo2ivlIjzcaHS9N_Swe_0hWj0)
- https://gleam.run/community/ (https://gleam.run/community/) – Join the Gleam Discord server
Guest Information
- https://twitter.com/louispilfold (https://twitter.com/louispilfold) – on Twitter
- https://github.com/lpil/ (https://github.com/lpil/) – on Github
- https://lpil.uk (https://lpil.uk) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
Show Notes online - http://podcast.thinkingelixir.com/23 (http://podcast.thinkingelixir.com/23)
Elixir Community News
- http://devonestes.com/announcing_muzak (http://devonestes.com/announcing_muzak) – Devon Estes' Muzak mutation testing library
- https://blog.appsignal.com/2020/11/17/announcing-appsignal-for-elixir-integration-2-0.html (https://blog.appsignal.com/2020/11/17/announcing-appsignal-for-elixir-integration-2-0.html) – AppSignal released 2.0 of their reporting tool
- https://github.com/phoenixframework/phoenixliveview/pull/1223 (https://github.com/phoenixframework/phoenix_live_view/pull/1223) – Phoenix LiveView file upload fix for components
- https://github.com/rrrene/credo (https://github.com/rrrene/credo) – Happy 5th birthday Credo!
- https://elixir-lang.org/blog/2020/11/17/real-time-collaboration-with-elixir-at-slab/ (https://elixir-lang.org/blog/2020/11/17/real-time-collaboration-with-elixir-at-slab/) – New Elixir case-study looks at the collaborative wiki product Slab
- https://github.com/teamon/tesla/releases/tag/v1.4.0 (https://github.com/teamon/tesla/releases/tag/v1.4.0) – Tesla v1.4.0 released - an Elixir HTTP client
- https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/119 (https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/119) – ElixirLS version 0.6.2 released.
- https://dashbit.co/blog/you-may-not-need-redis-with-elixir (https://dashbit.co/blog/you-may-not-need-redis-with-elixir) – Jose Valim wrote a blog post addressing the idea of people saying "you don’t need Redis when you use Elixir".
- https://baremessages.org/ (https://baremessages.org/) – A new "binary serialization library" called "bare". Aims to make Erlang data structures serialize easier in other languages
- https://sr.ht/~hauleth/BARE-Erlang/ (https://sr.ht/~hauleth/BARE-Erlang/)
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/gleam-lang/gleam (https://github.com/gleam-lang/gleam)
- https://gleam.run/ (https://gleam.run/)
- https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/ (https://gleam.run/news/gleam-v0.12-and-gleam-otp-v0.1-released/)
- https://thinkingelixir.com/podcast-episodes/016-gleam-games-and-types-with-quinn-wilton/ (https://thinkingelixir.com/podcast-episodes/016-gleam-games-and-types-with-quinn-wilton/)
- https://github.com/gleam-lang/gleam/graphs/contributors (https://github.com/gleam-lang/gleam/graphs/contributors)
- https://www.embark-studios.com/ (https://www.embark-studios.com/)
- https://racket-lang.org/ (https://racket-lang.org/)
- https://akka.io/ (https://akka.io/)
- https://developers.google.com/protocol-buffers/ (https://developers.google.com/protocol-buffers/)
- https://github.com/lalrpop/lalrpop (https://github.com/lalrpop/lalrpop)
- http://www.elixir.london/2016/louis-pilfold (http://www.elixir.london/2016/louis-pilfold)
- https://www.youtube.com/watch?v=IONWi9hayEA&index=13&list=PLWbHcFXPo2ivlIjzcaHS9NSwe_0hWj0 (https://www.youtube.com/watch?v=IONWi9hayEA&index=13&list=PLWbHc_FXPo2ivlIjzcaHS9N_Swe_0hWj0)
- https://gleam.run/community/ (https://gleam.run/community/) – Join the Gleam Discord server
Guest Information
- https://twitter.com/louispilfold (https://twitter.com/louispilfold) – on Twitter
- https://github.com/lpil/ (https://github.com/lpil/) – on Github
- https://lpil.uk (https://lpil.uk) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.