Episode 295
Is Your Type System Leaking?
March 10th, 2026
27 mins 3 secs
Tags
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.
- 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