typer1
Type annotator for erlang programs
Overview
TypEr shows type information for Erlang modules. Additionally, it can annotate the code of files with such type information.
Using TypEr
TypEr is used from the command-line. This section provides a brief description of the options. The same information can be obtained by writing the following in a shell:
-
typer --help
Usage:
-
typer [--help] [--version] [--plt PLT] [--edoc] [--show | --show-exported | --annotate | --annotate-inc-files | --annotate-in-place] [-Ddefine]* [-I include_dir]* [-pa dir]* [-pz dir]* [-T application]* file* [-r directory*]
NOTE: * denotes that multiple occurrences of the option are possible.
Options:
-
-r -
Search directories recursively for .erl files below them. If a list of files is given, this option must given be after them.
-
--show -
Print type specifications for all functions on stdout. (This is the default behaviour; this option is not really needed.)
--show-exported (or show_exported)
Same as --show, but print specifications for exported functions only. Specs are displayed sorted alphabetically according to the function's name.
-
--annotate -
Annotate the specified files with type specifications.
-
--annotate-inc-files -
Same as --annotate, but annotates all -include() files as well as all .erl files. (Use this option with caution — it is not well-tested.)
-
--annotate-in-place -
Annotate directly in the source code files, instead of dumping the annotated files in a different directory. (Use this option with caution — it is not well-tested.)
-
--edoc -
Print type information as Edoc @spec comments, not as type specs.
-
--plt -
Use the specified dialyzer PLT file rather than the default one.
-
-T file* -
The specified file(s) already contain type specifications and these are to be trusted in order to print specs for the rest of the files. (Multiple files or directories, separated by spaces, can be specified.)
-Dname (or -Dname=value)
Pass the defined name(s) to TypEr. (**)
-
-I -
Pass the include_dir to TypEr. (**)
-
-pa dir -
Include dir in the path for Erlang. This is useful when analyzing files that use -include_lib() directives or parse transforms.
-
-pz dir -
Include dir in the path for Erlang. This is useful when analyzing files that use -include_lib() directives or parse transforms.
--version (or -v)
Print the TypEr version and some more information and exit.
NOTE: ** options -D and -I work the same way as in erlc.
Releases
7 releases since Debian 5.0 (Lenny); the text changed 3 times.
--annotate since Arch Linux 2026-11-01;
--annotate-in-place since Arch Linux 2026-11-01;
--annotate-inc-files since Arch Linux 2026-11-01;
--edoc since Arch Linux 2026-11-01;
--plt since Arch Linux 2026-11-01;
--show since Arch Linux 2026-11-01;
-I since Arch Linux 2026-11-01;
-T since Arch Linux 2026-11-01;
-pa since Arch Linux 2026-11-01;
-pz since Arch Linux 2026-11-01;
-r since Arch Linux 2026-11-01.
--app until Debian 13 (Trixie);
--func until Debian 13 (Trixie);
--help until Debian 13 (Trixie);
--install-completion until Debian 13 (Trixie);
--show-completion until Debian 13 (Trixie);
--version until Debian 13 (Trixie).