language: en

Type classes in Haskell

Cordelia Hall, Kevin Hammond, Simon Peyton Jones and Philip Wadler
Glasgow University

Abstract This paper defines a set of type inference rules for resolving overloading introduced by type classes. Programs including type classes are transformed into ones which may be typed by the Hindley-Milner inference rules. In contrast to other work on type classes, the rules presented here relate directly to user programs. An innovative aspect of this work is the use of second-order lambda calculus to record type information in the program.

1. Introduction