Optional Type Specification in Erlang
Details
Presenter: Andreas Pauley
Erlang (http://www.erlang.org/) is a dynamically typed language, but it does allow programmers to optionally declare types.
But what benefit do you get by doing this?
In this talk I explore Erlang types together with various tools in the Erlang ecosystem that support types.
Dialyzer (http://www.erlang.org/doc/man/dialyzer.html) is a static code analysis tool that uses any types you were kind enough to specify.
Proper (https://github.com/manopapad/proper) is a QuickCheck-inspired property-based testing tool for Erlang. One of its interesting features is the ability to generate random test data using the supplied type specifications of functions.
As a playground for testing and showing these ideas, I have created a library that converts ID numbers to Erlang types (still a work in progress):
