We present a general framework HM(X) for type systems with constraints. The framework stays in the tradition of the Hindley/Milner type system. Its type system instances are sound under a standard untyped compositional semantics. We can give a generic type inference algorithm for HM(X) so that, under su cient conditions on X, type inference will always compute the principal type of a term. We discuss instances of the framework that deal with polymorphic records, equational theories and subtypes.
They present a type system for guarded algebraic data types as an extension to the HM(X) REF type system, and describe a type inference algorithm.
Type inference with constrained types
Fourth International Workshop on Foundations of Object-Oriented Programming (FOOL)
Computer Science