A type-checker for Erlang.
-
Use OTP 25
-
Download the
elp
binary for your system from https://github.com/WhatsApp/eqwalizer/releasesOn Mac you will probably get the following message when trying to run the executable the first time: "elp cannot be opened because the developer cannot be verified.". To solve this, go to Preferences > Security and Privacy and add an exception. Alternatively, you can build elp from source.
-
Add
eqwalizer_support
dependency andeqwalizer_rebar3
plugin to your rebar3 project definition (see below) -
From the project directory run:
elp eqwalize <module>
to type-check a single moduleelp eqwalize-all
to type-check allsrc
modules in the project
Adding eqwalizer_support
and eqwalizer_rebar3
:
{deps, [
{eqwalizer_support,
{git_subdir,
"https://github.com/whatsapp/eqwalizer.git",
{branch, "main"},
"eqwalizer_support"}}
]}.
{project_plugins, [
{eqwalizer_rebar3,
{git_subdir,
"https://github.com/whatsapp/eqwalizer.git",
{branch, "main"},
"eqwalizer_rebar3"}}
]}.
Please refer to the FAQ document for answers to some common questions, including:
- What's the difference between eqWAlizer and Dialyzer?
- Why not extend Dialyzer, rather than creating a new tool?
- What about Elixir?
eqWAlizer is Apache licensed.