
295: Is Your Type System Leaking?
Thinking Elixir Podcast
Outro
Mark and David close the episode, thank listeners, and invite them to join next time on Thinking Elixir.
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.
- https://x.com/zachsdaniel1/status/2027078981451690355 – Zach Daniel announces a new usage_rules feature that supports copying skills from packages, allowing package authors to ship and version AI skills for projects.
- https://github.com/ash-project/usage_rules – The usage_rules GitHub repo for the Ash project's AI coding rules and skills feature.
- https://bsky.app/profile/oban.pro/post/3mg5yd4lul22a – Sorentwo teases upcoming Oban Pro Workflow + Web improvements, including a new Workflows search page with progress bars, stats, filters, and a graph view of workflow nodes.
- https://github.com/leandrocp/mdex/releases/tag/v0.11.6 – MDEx v0.11.6 release notes, adding :codefence_renderers option and fixes to the syntax highlighter and streaming parser.
- https://nitter.net/leandrocesquini/status/2026671063820615755 – Leandro Cesquini announces the MDEx v0.11.6 release on social media.
- https://hexdocs.pm/mdex/codefence_renderers.html – HexDocs page for MDEx's new codefence_renderers feature, enabling custom code fences like alert, Pikchr, chart, csv, and more.
- https://github.com/leandrocp/mdex – The MDEx GitHub repository for the Elixir Markdown parsing and rendering library.
- https://github.com/dbernheisel/hex-cmp – David's new Neovim plugin that autocompletes hex.pm packages and versions in mix.exs files using blink.cmp and Treesitter, with lightweight LSP hover docs.
- https://nitter.net/1stavenger/status/2027943235096641839 – Mike Binns announces the v1.0.0 release of Flame On, a flame chart plugin for Phoenix Live Dashboard, after 4+ years.
- https://blogat.to/ – Blogatto is a new Gleam static site generator framework built on Lustre and Markdown, generating blogs, RSS feeds, sitemaps, and more from a single config.
- https://nitter.net/lukaszsamson/status/2028268416939786430 – Łukasz Samson announces spark_ex, a native Elixir Apache Spark Connect client with Livebook integration.
- https://github.com/lukaszsamson/spark_ex/blob/main/notebooks/spark_ex_demo.livemd – Demo Livebook notebook for spark_ex to quickly start experimenting with Apache Spark from Elixir.
- https://spark.apache.org/ – Apache Spark™ official site — a multi-language engine for data engineering, data science, and machine learning on single-node or cluster environments.
- https://bsky.app/profile/hugobarauna.com/post/3mg6djqvhzc2w – Hugo Baraúna announces that Livebook Desktop now supports Linux, powered by the same Tauri-based cross-platform packaging work reported last week.
- https://bsky.app/profile/peregrine.bsky.social/post/3mg77yqlf7k2b – Announcement that Easel can now render to the terminal using rasterization via Easel.WX, ASCII glyph masks, and the termite library.
- https://hexdocs.pm/easel/readme.html#terminal-backend-experimental – HexDocs page for Easel's experimental terminal backend, detailing how it rasterizes and renders frames to a terminal session.
- https://nitter.net/FrancescoC/status/2027699563474173983 – Francesco Cesarini announces the new "BEAM There, Done That" podcast co-hosted with Alan Wyma.
- https://open.spotify.com/episode/4D3ZdxRYlhtImwkjaqgRmS – First episode of "BEAM There, Done That" on Spotify, featuring Andrea Leopardi on Concurrency, OTP, and the Evolution of the BEAM.
- https://podcasts.apple.com/us/podcast/beam-there-done-that/id1880642413 – 'BEAM There, Done That' podcast on Apple Podcasts, launched by Francesco Cesarini and Alan Wyma.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Find us online
- Message the show - Bluesky
- Message the show - X
- Message the show on Fediverse - @ThinkingElixir@genserver.social
- Email the show - show@thinkingelixir.com
- Mark Ericksen on X - @brainlid
- Mark Ericksen on Bluesky - @brainlid.bsky.social
- Mark Ericksen on Fediverse - @brainlid@genserver.social
- David Bernheisel on Bluesky - @david.bernheisel.com
- David Bernheisel on Fediverse - @dbern@genserver.social
Sponsored By:


