Nominal Types for Erlang

Isabell Huang


Nominal typing has been used in many dynamically typed languages. User-defined types are distinguished by their names. As my master thesis at Uppsala University, I propose the addition of nominal types ‘-nominal’ in Erlang, where the changes can be applied exclusively to Dialyzer (modulo parsing). As a side effect, nominal types can encode opaque types, which improves Dialyzer’s maintainability. Nominal types will be an upcoming feature for OTP 28.

Key Takeaways:

  • Understanding how nominal types can be defined and used in Erlang.
  • Understanding how Dialyzer performs type-checking for nominal types, and the advantages of encoding opaques internally as nominal types.

Target Audience:

  • Erlang developers and enthusiasts for type systems

Erlang, Types, Dialyzer