Elixir v1.20: Now a gradually typed language

elixir-lang.org
June 3, 2026
8 min read
🔥🔥🔥🔥🔥
75/100
Summary
Elixir v1.20 introduces gradual typing, allowing type inference and type checking for all Elixir programs without requiring type annotations. This release marks a significant development milestone in implementing set-theoretic types in the language.
Key Takeaways
- Elixir v1.20 introduces a gradually typed language feature, allowing type inference and type checking without requiring type annotations.
- The new type system can efficiently identify dead code and verified bugs in existing Elixir programs with a low false positive rate.
- Elixir's gradual type system includes a unique dynamic() type that maintains compatibility and narrowing, distinguishing it from other gradual type systems.
- The development of the type system was supported by a partnership between CNRS and Remote, with sponsorship from Fresha and Tidewave.
Coverage & discussions
Hacker News · elixir-lang.org
Community discussions
Hacker News discussion ↗
Historical count: 5 · 5 saved in sample · Historical sample
Analysis ready
Community Sentiment
Positives
- The introduction of gradual typing in Elixir is a significant step towards improving code reliability, as it can help catch bugs that were previously missed.
- Elixir's approach to type inference minimizes false positives, which enhances developer experience by reducing unnecessary type errors.
- The gradual type system is designed to integrate smoothly with existing constructs, making it a mature addition rather than a superficial change.
Concerns
- There are concerns that gradual typing in Elixir may create a false sense of security, as type errors could still occur in distributed systems where type contracts between nodes are not guaranteed.
- Some users question whether the gradual type system can effectively improve performance without incurring runtime validation costs, which could impact efficiency.




