Type Reconstruction for Type Classes

Tobias Nipkow, Christian Prehofer

Research output: Contribution to journalArticlepeer-review

21 Scopus citations

Abstract

We study the type inference problem for a system with type classes as in the functional programming language Haskell. Type classes are an extension of ML-style polymorphism with overloading. We generalize Milner's work on polymorphism by introducing a separate context constraining the type variables in a typing judgement. This leads to simple type inference systems and algorithms which closely resemble those for ML. In particular, we present a new unification algorithm which is an extension of syntactic unification with constraint solving. The existence of principal types follows from an analysis of this unification algorithm.

Original languageEnglish
Pages (from-to)201-224
Number of pages24
JournalJournal of Functional Programming
Volume5
Issue number2
DOIs
StatePublished - Apr 1995

Fingerprint

Dive into the research topics of 'Type Reconstruction for Type Classes'. Together they form a unique fingerprint.

Cite this