← Retour au blog
tech 4 June 2026

Elixir v1.20: A Revolution with Gradual Typing

Elixir v1.20 brings gradual typing, enabling bug verification without developer overhead. Discover how this advancement is game-changing.

Article inspired by the original source
Elixir v1.20 released: now a gradually typed language ↗ elixir-lang.org

Introduction

Elixir, the functional programming language known for its simplicity and power, has reached a significant milestone with the release of version 1.20. Elixir now becomes a gradually typed language, meaning it can infer and gradually type-check every Elixir program without requiring type annotations. This update promises to transform how developers interact with code, enhancing reliability and efficiency.

The Type System: A Major Leap Forward

Version 1.20 introduces a set-theoretic type system, allowing for type inference and assignment that aligns with the program's behavior. This system is both "sound" and "gradual," meaning that even without annotations, Elixir can verify types at runtime using the dynamic() type. This approach significantly reduces the rate of false positives, offering a smoother development experience.

Why Gradual Typing?

The addition of gradual typing aims to combine the benefits of static and dynamic typing systems. Elixir's dynamic() type is unique as it allows for compatibility while facilitating type narrowing. Unlike other gradual typing systems that use any(), Elixir focuses on precision and efficiency in detecting verified bugs.

Performance and Efficiency

Elixir v1.20 stands out with its impressive performance in the "If T: Benchmark for Type Narrowing," successfully passing 12 out of 13 categories. This demonstrates its ability to recover precise type information from ordinary Elixir code, crucial for identifying bugs in dynamically typed programs.

Use Case

Consider an inventory management application developed in Elixir. With the new type system, the application can detect and report potential errors before they manifest at runtime. This not only reduces debugging time but also improves the quality of the delivered software.

Partnerships and Support

The development of this type system was made possible through a partnership with CNRS and Remote, and is currently sponsored by Fresha and Tidewave. This support has accelerated the integration of these features into Elixir, highlighting the importance of collaboration in the evolution of open-source technologies.

Conclusion

Elixir v1.20 marks a turning point in functional software development. By introducing gradual typing, Elixir provides a robust solution for bug detection while minimizing developer overhead. It is an advancement that promises to improve code quality and reduce time-to-market.

Let's discuss your project in 15 minutes.

Elixir gradual typing type system functional programming bug detection
Deepthix newsletter · 100% AI · every Monday 8am

An AI agent reads tech for you.

Our AI agent scans ~200 sources per week and ships the best articles to your inbox Monday 8am. Free. One click to unsubscribe.

Visit the newsletter page →

Want to automate your operations?

Let's talk about your project in 15 minutes.

Book a call