HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

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

ElixirConf3 HN recommenders · recommended in 3 months, 2023-2026
YouTube
38K views · 3 years ago · talk · dated

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.

Programming language designFunctional programming#elixir#gradualtyping#set-theoretictypes#typesystems#josevalim

8 comments from Hacker News

@mechanicum2026 · 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

CitesView on HN
@aeonfox2026 · 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

CitesView on HN
@_acco2025 · in “Why Elixir? Common misconceptions”

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

CitesView on HN
@rapind2025 · in “Koto Programming Language”

I'd keep an eye on Roc link Also, Elixir is working on gradual types, which is something I would keep an eye on. link ▶ this video

CitesView on HN
@gregors2024 · 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 recommendsView on HN
@H122024 · 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

RecommendsView on HN
@whalesalad2023 · 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

RecommendsView on HN
@pawelduda2023 · in “Unpacking Elixir: Resilience”

Types in Elixir are on the roadmap [1] but I don't think there's concrete ETA For now you have typespecs and dialyzer that tries to infer types and detect incorrect assumptions in code but I found it cumbersome to work with. Testing in Elixir is first class so I prefer that for now. You get doctests (documentation that is also a runnable test), like in Python, which I find very useful when looking at some package source. [1] ▶ this video

CitesView on HN
Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 202340:15

Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023

Code Sync
7K views • 3 years ago
Introducing Nx - José Valim | Lambda Days 202152:59

Introducing Nx - José Valim | Lambda Days 2021

Code Sync
26K views • 5 years ago
The Next Five Years of ClojureScript - David Nolen1:00:58

The Next Five Years of ClojureScript - David Nolen

Metosin
19K views • 10 years ago
Type-Driven Development in Idris — Edwin Brady46:36

Type-Driven Development in Idris — Edwin Brady

Scala World
26K views • 11 years ago
Saša Jurić - Parsing from first principles - WebCamp Zagreb 20191:10:16

Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019

WebCamp Zagreb
6K views • 6 years ago
Stephen Wolfram's Introduction to the Wolfram Language12:56

Stephen Wolfram's Introduction to the Wolfram Language

Wolfram
924K views • 12 years ago
Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 201950:49

Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019

KanDDDinsky
74K views • 6 years ago
Effective Programs - 10 Years of Clojure - Rich Hickey1:14:52

Effective Programs - 10 Years of Clojure - Rich Hickey

ClojureTV
176K views • 9 years ago
Edwin Brady - Idris 2: Type-driven development of Idris | Code Mesh LDN 1843:23

Edwin Brady - Idris 2: Type-driven development of Idris | Code Mesh LDN 18

Code Sync
20K views • 7 years ago
Edward Kmett - Type Classes vs. the World1:42:53

Edward Kmett - Type Classes vs. the World

Boston Haskell
36K views • 11 years ago
On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]59:04

On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]

PapersWeLove
27K views • 7 years ago
Keynote: The Last Hope for Scala's Infinity War - John A. De Goes45:03

Keynote: The Last Hope for Scala's Infinity War - John A. De Goes

Scalapeño
36K views • 8 years ago
Condition Systems in an Exceptional Language - Chris Houser33:32

Condition Systems in an Exceptional Language - Chris Houser

ClojureTV
16K views • 10 years ago
Clojure for Lisp Programmers Part 1 - Rich Hickey1:28:59

Clojure for Lisp Programmers Part 1 - Rich Hickey

ClojureTV
25K views • 13 years ago
Domain Modeling Made Functional - Scott Wlaschin51:40

Domain Modeling Made Functional - Scott Wlaschin

NDC Conferences
71K views • 9 years ago
Maybe Not - Rich Hickey1:03:29

Maybe Not - Rich Hickey

ClojureTV
181K views • 7 years ago
Effective ML1:09:24

Effective ML

Jane Street
30K views • 10 years ago
Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure53:56

Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

jasonofthel33t
119K views • 13 years ago
Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language1:03:34

Simon Peyton Jones - Linear Haskell: practical linearity in a higher-order polymorphic language

Curry On!
19K views • 8 years ago
Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '1759:03

Breaking Down Programming Paradigms: APL's Surprising Learning Curve // Aaron Hsu // Dyalog '17

Dyalog User Meetings
7K views • 9 years ago