In this paper we present a general framework HM(X) for Hindley/Milner style type systems with constraints, analogous to the CLP(X) framework in constrained logic programming. We show that the type system is sound with respect to a standard untyped compositional semantics. We present sufficient conditions on the constraint domain X so that the principal types property carries over to HM(X). The conditions turn out to be fairly simple and natural.
Lionel Emile Vincent Parreaux, Aleksander Slawomir Boruch-Gruszecki
Martin Odersky, Yichen Xu, Aleksander Slawomir Boruch-Gruszecki