Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023
Code SyncCited 3× on HN, 2023-2026
7K views · 3 years ago · talk · evergreen
ElixirConf EU 2023 talk by Giuseppe Castagna and Guillaume Duboc on bringing set-theoretic types to Elixir, and the benefits such a type system could offer such as catching bugs.
Linked as the authoritative background on how Elixir's gradual set-theoretic type system works.
1:11:42ElixirConf 2023 - José Valim - The foundations of the Elixir type system
ElixirConf
38K views • 3 years ago
43:23Edwin Brady - Idris 2: Type-driven development of Idris | Code Mesh LDN 18
Code Sync
20K views • 7 years ago
46:36Type-Driven Development in Idris — Edwin Brady
Scala World
26K views • 11 years ago
56:58Philip Wadler - Propositions as Types (Lambda Days 2016)
Erlang Solutions
20K views • 10 years ago
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
384K views • 7 years ago
1:00:58The Next Five Years of ClojureScript - David Nolen
Metosin
19K views • 10 years ago
1:14:52Effective Programs - 10 Years of Clojure - Rich Hickey
ClojureTV
176K views • 9 years ago
1:09:24Effective ML
Jane Street
30K views • 10 years ago
1:42:53Edward Kmett - Type Classes vs. the World
Boston Haskell
36K views • 11 years ago
1:10:16Saša Jurić - Parsing from first principles - WebCamp Zagreb 2019
WebCamp Zagreb
6K views • 7 years ago
12:56Stephen Wolfram's Introduction to the Wolfram Language
Wolfram
924K views • 12 years ago
1:12:10Practical Common Lisp
Google TechTalks
98K views • 19 years ago
33:32Condition Systems in an Exceptional Language - Chris Houser
ClojureTV
16K views • 10 years ago
1:33:37Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)
jasonofthel33t
69K views • 12 years ago
38:36"A Little Taste of Dependent Types" by David Christiansen
Strange Loop Conference
48K views • 8 years ago
50:49Domain Modeling Made Functional - Scott Wlaschin - KanDDDinsky 2019
KanDDDinsky
74K views • 6 years ago
39:40"Type-Driven Program Synthesis" by Nadia Polikarpova
Strange Loop Conference
15K views • 8 years ago
54:31Does APL Need a Type System? by Aaron W Hsu at #FnConf18
ConfEngine
6K views • 7 years ago
59:04On the Expressive Power of Programming Languages by Shriram Krishnamurthi [PWLConf 2019]
PapersWeLove
27K views • 7 years ago
35:15Solid Ground // Saša Jurić
EMPEX Conference
14K views • 9 years ago
3 comments from Hacker News
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]: ▶ this video [3]: link [4]: link
> The hottest news in the Elixir community is that it is currently experimenting with set theoretic type / gradual typing. Some french PHD is working on it To expand on it: you can read the proposal[0] or watch the video presentation by the author[1]. It is a very similar system to Typescript, with (at the first glance) only minor differences: "any" becomes "term", primitive constants are not singleton types (so you cannot write programs with type system alone... yet), and I expect some edge cases around generics will be handled differently (especially since you cannot specify types yourself in function calls, i.e there is no myFunction<MyType1, MyType2>()). On the other side, there are some things that the proposal seems to be doing better than Typescript. It handles type assertions without the need for "function isX(maybeX): asserts maybeX is X { ... }" and since pattern matching plays important role in Elixir, I expect it will have a lot of polish around that. [0] link [1] ▶ this video
We were 100% not expecting this to show up on HN front page. :) In any case, the title is accurate in that it is only a prototype and it was built by Guillaume to explore how Elixir idioms map to set-theoretic types. The UX and syntax do not reflect how the type system would look in Elixir itself (if we get a type system at all). You can find more context in Guillaume’s talk: ▶ this video The initial research announcement: link And the paper as a deeper, more accurate, and complete resource: link