Polymorphism, subtyping, and type inference in MLsub
Accepted version
Peer-reviewed
Repository URI
Repository DOI
Change log
Authors
Abstract
We present a type system combining subtyping and ML-style parametric polymorphism. Unlike previous work, our system supports type inference and has compact principal types. We demonstrate this system in the minimal language MLsub, which types a strict superset of core ML programs. This is made possible by keeping a strict separation between the types used to describe inputs and those used to describe outputs, and extending the classical unification algorithm to handle subtyping constraints between these input and output types. Principal types are kept compact by type simplification, which exploits deep connections between subtyping and the algebra of regular languages. An implementation is available online.
Description
Journal Title
Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
Conference Name
Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
Journal ISSN
0362-1340
1558-1160
1558-1160
Volume Title
Publisher
Association for Computing Machinery (ACM)
Publisher DOI
Rights and licensing
Except where otherwised noted, this item's license is described as http://www.rioxx.net/licenses/all-rights-reserved
