View Source typer

Type annotator for Erlang programs.

Description

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.