Gradualizer - an experimental static type checker for Erlang (0.2.0 just out!)

Christmas came early! :christmas_tree: There has been no release since Feb 2021, that’s almost 22 months - time to fix it, so…

Gradualizer 0.2.0 is out!

Gradualizer is an experimental static type checker for Erlang with some support for gradual typing. A static type checker catches bugs in our source code thanks to type analysis.
This release comes with a number of highlights:

The full changelog is available at Gradualizer/ at master · josefs/Gradualizer · GitHub.

It’s written in Erlang, so contributions from the community are both possible and welcome.
It doesn’t use a PLT like Dialyzer, so there’s no need to (re)generate it or cache it in CI.
It’s still experimental and the Next Big Thing on the roadmap is polymorphism support.

Gradualizer supports Erlang. Check out Gradient if you’re interested, but prefer Elixir.

P.S. If this is not the right part of the forum, please move this thread accordingly. I couldn’t find a more suitable place, since all announcement categories seem to revolve around a particular project/topic.


Congratulations. I’ve used Gradient to play with Gradualizer and while it wasn’t quite ready for my use, it was really interesting. Looking forward to playing with it again, when I have time.


This is extremely awesome, and it appears that this also has symbiosis with Dialyzer. Fixing some issues that Gradualizer pointed out ‘woke up’ Dialyzer to other issues in those type specs. Very useful!