
ElixirConf
3 HN recommenders · recommended in 7 months, 2023–2026
1:11:42 · 38K views · Sep 15, 2023
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
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
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
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
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
It doesn't matter as much as you think. I believe this is in part due to how assertive most Elixir code tends to be. [1] These assertions not only aid the LSP and can cause compiler warnings/errors, they also help LLMs just like types do. Still, every release now contains new type system features. Next up is full type inference. [2] After that will be typed structs. [1] José Valim giving his balanced view on type systems: this video [2] [LINK]