HackerTube

ElixirConf 2023 - José Valim - The foundations of the Elixir type system

ElixirConf3 HN recommenders · recommended in 3 months, 2023–2026
YouTube
talk · advanced · 2023–2026 on HN

José Valim's ElixirConf US 2023 closing keynote on the foundations of the Elixir type system, covering set-theoretic types and gradual typing with strong arrows.

HN recommends it as the best detailed explanation from the language's creator of how Elixir's new type system works and why.

8 comments from Hacker News

@gregors2024-06 · in “Elixir 1.17 released: set-theoretic types in patterns, durations, OTP 27”

If you're into watching talks, this will be well worth your time. ElixirConf 2023 - José Valim - The foundations of the Elixir type system ▶ this video

Strongly recommends View on HN
@H122024-01 · in “Elixir is now a gradually typed language”

My understanding is "yes, but only type errors that violate guards and pattern matching". Jose's elixirconf keynote this year did a great job providing details on how how this new type system works: ▶ this video

Recommends View on HN
@whalesalad2023-11 · in “Switching to Elixir”

static typing is a means to an end. if you can achieve the same end without static typing, good right? that is the goal of spec. the creator of the language has a fantastic talk on this ▶ this video

Recommends View on HN
@aeonfox2026-06 · in “Elixir v1.20 released: now a gradually typed language”

OP might be referring to Jose Valim's 2023 ElixirConf talk where he's explaining why Elixir should go down the path of types. He gives a lot more nuanced take than 'types are useless', which is more like 'types are less useful than people think in the context of Elixir development'. (Which makes sense because he's in the middle of implementing a type system for Elixir.) ▶ this video

@mechanicum2026-06 · in “Elixir v1.20 released: now a gradually typed language”

Short answer: “a type system centered on the use of set-theoretic types (unions, intersections, negations) that satisfy the commutativity and distributivity properties of the corresponding set-theoretic operations”. Long answer, well, there are blog posts[0], the Design Principles of the Elixir Type System paper[1] and related presentations[2, 3, 4] that talk about it at length. Giuseppe Castagna’s site has many more related papers: link [0]: link [1]: link [2]: link [3]: link [4]: ▶ this video