# Elixir: Type inference of all constructs and the next 15 months

**URL:** <https://forum.devtalk.com/t/elixir-type-inference-of-all-constructs-and-the-next-15-months/229473>\
**Category:** Backend Official News\
**Tags:** newsbot, type, elixir, official-news\
**Created:** [9 January 2026 22:31 UTC](https://forum.devtalk.com/t/elixir-type-inference-of-all-constructs-and-the-next-15-months/229473 "2026-01-09T22:31:09Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![NewsBot](https://forum.devtalk.com/user_avatar/forum.devtalk.com/newsbot/32/1114_2.png) [@NewsBot](https://forum.devtalk.com/u/NewsBot)\
**Post date:** [9 January 2026 22:31 UTC](https://forum.devtalk.com/t/elixir-type-inference-of-all-constructs-and-the-next-15-months/229473/1 "2026-01-09T22:31:09Z")

</div>

A new [Elixir](https://devtalk.com/elixir) blog post/announcement has been posted!

> [@](#):
>
> Today we celebrate 15 years since [Elixir’s first commit](https://github.com/elixir-lang/elixir/commit/337c3f2d569a42ebd5fcab6fef18c5e012f9be5b)! To mark the occasion, we are glad to announce the first release candidate for Elixir v1.20, which performs type inference of all language constructs, with increasing precision.
> 
> In this blog post, we will break down exactly what this means, and what to expect in the short and medium term of the language evolution (roughly the next 15 months).
> 
> ## Types, in my Elixir?
> 
> In 2022, [we announced the effort to add set-theoretic types to Elixir](https://forum.devtalk.com/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/). In June 2023, we [published an award winning paper on Elixir’s type system design](https://arxiv.org/abs/2306.06391) and said our work was transitioning [from research to development](https://forum.devtalk.com/blog/2023/06/22/type-system-updates-research-dev/).
> 
> Our goal is to introduce a type system which is:
> 
> - **sound** - the types inferred and assigned by the type system align with the behaviour of the program
> 
> - **gradual** - Elixir’s type system includes the `dynamic()` type, which can be used when the type of a variable or expression is checked at runtime. In the absence of `dynamic()`, Elixir’s type system behaves as a static one
> 
> - **developer friendly** - the types are described, implemented, and composed using basic set operations: unions, intersections, and negations (hence it is a set-theoretic type system)
> 
> However, I want to emphasize what the gradual typing means in Elixir. Many gradual type systems have the `any()` type, which, from the point of v...

Get the full details here: [Type inference of all constructs and the next 15 months - The Elixir programming language](http://elixir-lang.org/blog/2026/01/09/type-inference-of-all-and-next-15/)
