Abstract
We present a subtyping extension to the Hindley/Milner type system that is based on name inequivalence. This approach allows the subtype relation to be defined by incremental construction of polymorphic records and datatypes, in a way that subsumes the basic type systems of both languages like ML and Java. As the main contribution of the paper, we describe a partial type inference algorithm for the extended system which favours succinctness over generality, in the sense that it never infers types with subtype constraints. The algorithm is based on an efficient approximating constraint solver, and is able to type a wide range of programs that utilize subtyping and polymorphism in a non-trivial way. Since constrained types are not inferred, the algorithm cannot be complete; however, we provide a completeness result w. r. t. the Hindley/Milner type system as a form of characterizing lower bound. © 1998 ACM.
Cite
CITATION STYLE
Nordlander, J. (1999). Pragmatic subtyping in polymorphic languages. SIGPLAN Notices (ACM Special Interest Group on Programming Languages), 34(1), 216–227. https://doi.org/10.1145/291251.289445
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.