What's new in Gradualizer? Gradually typing Erlang and Elixir
Gradual typing is a bit like static typing, because it provides error messages if your code has types and specs - and any errors, obviously. Gradual typing is also a bit like dynamic typing, because it doesn't require all the functions to have specs and just agrees when you say: "Trust me, I'm an engineer!"
Gradualizer, introduced at Code Beam Stockholm by Josef Svenningsson, is a gradual typechecker for Erlang. I'll describe some changes, improvements, and challenges we faced and managed to overcome in 2021. I'll also show how to type check not only Erlang, but also Elixir code.