Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Sat 29 Sep 2018 15:30 - 15:55 at Burlington Route - Final talk and Closing

Developing a static type system suitable for Erlang has been of ongoing interest for almost two decades now. The challenge with retrofitting a static type system onto a dynamically typed language, such as Erlang, is the loss of flexibility in programming offered by the language. In light of this, many attempts to type Erlang trade sound type checking for the ability to retain flexibility. Hence, simple type errors which would be caught by the type checker of a statically typed language are easily missed in these developments. This has us wishing for a way to avoid such errors in Erlang programs.

In this paper, we develop a static type system for Erlang which strives to remain sound without being too restrictive. Our type system is based on Hindley-Milner type inference, which—unlike contemporary implementations of Hindley-Milner—is flexible enough to allow overloading of data constructors, branches of different types etc. Further, to allow Erlang’s dynamic type behaviour, we employ a program specialization technique called partial evaluation. Partial evaluation simplifies programs prior to type checking, and hence enables the type system to type such behaviour under certain restricted circumstances.

Sat 29 Sep
Times are displayed in time zone: (GMT-05:00) Guadalajara, Mexico City, Monterrey change

erlang-2018-papers
15:30 - 16:10: Erlang 2018 - Final talk and Closing at Burlington Route
erlang-2018-papers15:30 - 15:55
Full-paper
Nachiappan ValliappanChalmers University of Technology, Sweden, John HughesChalmers University of Technology, Sweden
DOI
erlang-2018-papers15:55 - 16:10
Day closing
Adrian FrancalanzaUniversity of Malta, Natalia ChechinaBournemouth University