Abstract / Description of output
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 language | English |
---|---|
Title of host publication | In Proceedings of the International Conference on Functional Programming (ICFP '97 |
Publisher | ACM Press |
Pages | 136-149 |
Number of pages | 14 |
ISBN (Print) | 0-89791-918-1 |
DOIs | |
Publication status | Published - 1997 |