A Practical Subtyping System For Erlang

Simon Marlow, Philip Wadler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

We present a type system for the programming language Erlang. The type system supports subtyping and declarationfree recursive types, using subtyping constraints. Our system is similar to one explored by Aiken and Wimmers, though it sacrifices expressive power in favour of simplicity. We cover our techniques for type inference, type simplification, and checking when an inferred type conforms to a user-supplied type signature, and report on early experience with our prototype. 1 Introduction We can stop waiting for functional languages to be used in practice---that day is here! Erlang is a strict, untyped functional language with support for concurrency, communication, distribution, fault-tolerance, on-the-fly code reloading, and multiple platforms [AVW93]. Applications exist that consist of upwards of half a million lines of code. This paper documents our experience in designing and building a type system for Erlang. Our type system provides type inference with subtyping, declaration...

Original languageEnglish
Title of host publicationIn Proceedings of the International Conference on Functional Programming (ICFP '97
PublisherACM Press
Pages136-149
Number of pages14
ISBN (Print)0-89791-918-1
DOIs
Publication statusPublished - 1997

Fingerprint Dive into the research topics of 'A Practical Subtyping System For Erlang'. Together they form a unique fingerprint.

Cite this