295: Is Your Type System Leaking?
HomeThinking Elixir Podcast › Episode

295: Is Your Type System Leaking?

27:03 Mar 10, 2026
About this episode
News includes José Valim publishing a deep technical post on Elixir's type system shift from DNFs to Lazy BDDs with eager literal intersections — cutting worst-case type checking from 10 seconds to 25ms — alongside a more approachable Dashbit post on type systems as leaky abstractions, Zach Daniel's new usage_rules feature for shipping versioned AI skills inside Hex packages, Oban Pro teasing a major Workflow + Web UI overhaul with graph views and progress tracking, MDEx v0.11.6 landing with a new :codefence_renderers option, Livebook Desktop adding Linux support, Flame On hitting v1.0.0 after four years, a new Gleam static site generator called Blogatto, a native Elixir Apache Spark Connect client with Livebook integration, and more! Show Notes online - http://podcast.thinkingelixir.com/295 Elixir Community News https://paraxial.io/ – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer. https://erlef.org/ – David encourages companies that use Elixir to sponsor the Erlang Ecosystem Foundation, emphasizing it's a community responsibility and any amount helps. https://nitter.net/josevalim/status/2026957172807025095 – José Valim announces a new technical blog post on elixir-lang.org about set-theoretic type system internals. https://elixir-lang.org/blog/2026/02/26/eager-literal-intersections/ – José Valim's deep-dive post on switching from DNFs to Lazy BDDs and adding eager literal intersections, reducing a worst-case type check from 10s to 25ms in Elixir v1.20. https://nitter.net/josevalim/status/2028820597761831058 – José Valim announces a more approachable blog post on type systems as leaky abstractions. https://dashbit.co/blog/type-systems-are-leaky-abstractions-map-take – Dashbit post by José Valim arguing with concrete examples that type systems can be leaky abstractions that resist refactoring, using Map.take!/2 as a case study.
Select an episode
0:00 0:00