Type Inference with Constrained Types
this paper we present a general framework HM(X) for Hindley/Milner style type systems with constraints, analogous to the CLP(X) framework in constraint logic programming [JM94]. Particular type systems can be obtained by instantiating the parameter X to a specific constraint system. The Hindley /Milner system itself is obtained by instantiating X to the trivial constraint system over a one point domain. By and large, the treatment of constraints in type systems has been syntactic : constraints...