Pragmatic subtyping in polymorphic languages
1999 (English)In: Proceedings of the third ACM SIGPLAN International Conference on Functional Programming: ICFP '98, IEEE Communications Society, 1999, 216-227 p.Conference paper (Refereed)
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 de ned 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 effcient 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.
Place, publisher, year, edition, pages
IEEE Communications Society, 1999. 216-227 p.
, SIGPLAN Notices, 34
IdentifiersURN: urn:nbn:se:ltu:diva-39687Local ID: e89181a0-c68d-11db-8a6f-000ea68e967bISBN: 0-58113-024-4OAI: oai:DiVA.org:ltu-39687DiVA: diva2:1013204
ACM SIGPLAN International Conference on Functional Programming : 27/09/1998 - 29/09/1998
Upprättat; 1999; 20070227 (ysko)2016-10-032016-10-03