Eqwalizer: A Type-Checker for Erlang

It looks like the team over at WhatsApp have finally released their Erlang type checker, eqWAlizer

I know a few of us have been looking forward to this and I happened across it a little while ago. Wanted to get peoples thoughts on it.


It’s baffling to me:

  • I don’t know why they wrote it in scala.
  • it analyzes Erlang ast (I think) why they didn’t go with bytecode is also baffling to me… If for no other reason that you don’t have to deal with macros

GitHub reports stat is: Erlang 55.5%, Scala 35.5%, Rust 9.0%.
I don’t know how accurate this is-- given that one of my repos reports 100% JS when it should be approximately 40% Elixir, 50% JS, 10% HTML.

In the FAQ:

What about Elixir?

As it is today, eqWAlizer works only with Erlang code. However, eqWAlizer operates on the Erlang AST, which the Elixir compiler is capable of producing. It should be entirely possible to run eqWAlizer analysis on the Elixir-produced BEAM files. We’d be happy to accept PRs in this area!



1 Like

Barely documented so far now just cautious optimism. Also a few examples on what exactly does their type-check would be extremely helpful but alas, nope.