Type Inference in the Presence of Overloading, Subtyping and Recursive Types

Stefan Kaes. Type Inference in the Presence of Overloading, Subtyping and Recursive Types. In Proceedings of the 1992 ACM Conference on LISP and Functional Programming. LFP '92, pages 193-204, Association for Computing Machinery, New York, NY, USA, 1992. [doi]

Abstract

We present a unified approach to type inference in the presence of overloading and coercions based on the concept of constrained types. We define a generic inference system, show that subtyping and overloading can be treated as a special instance of this system and develop a simple algorithm to compute principal types. We prove the decidability of type inference for the class of decomposable predicates and develop a canonical representation for principal types based on most accurate simplifications of constraint sets. Finally, we investigate the extension of our techniques to recursive types.