Pragmatic subtyping in polymorphic languages

0Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

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

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free