Static typing for Erlang

With the new set theoretic type system coming to Elixir, and the fact that this project exists:

does this mean static types could be coming to Erlang at some point in the future?

im mostly interested if static types would help with performance at all. Talking to people who work on python, apparently types don’t really matter to python performance at all, but the BEAM and CPython are quiet different

There a few different Erlang type checkers, in addition to etylizer (and dialyzer which is part of Erlang/OTP):

  • Gradulizer - I got somewhat frustrated with this one, as it was hard to fix certain type warnings. There where no escape hatches to e.g. mute certain warnings or to assign a specific type signature when it failed to resolve types properly.
  • eqWAlizer - haven’t tried this one, mostly because I was working on older Erlang code bases (at the time I looked into it) that required older Erlang/OTP versions that weren’t supported by eqWAlizer.
  • One could also run dialyzer with more strict flags (compared to the default).