Type classes in Haskell
- 1 March 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 18 (2) , 109-138
- https://doi.org/10.1145/227699.227700
Abstract
This article defines a set of type inference rules for resolving overloading introduced by type classes, as used in the functional programming language Haskell. Programs including type classes are transformed into ones which may be typed by standard Hindley-Milner inference rules. In contrast to other work on type classes, the rules presented here relate directly to Haskell programs. An innovative aspect of this work is the use of second-order lambda calculus to record type information in the transformed program.Keywords
This publication has 10 references indexed in Scilit:
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- A system of constructor classes: overloading and implicit higher-order polymorphismJournal of Functional Programming, 1995
- Qualified TypesPublished by Cambridge University Press (CUP) ,1994
- Polymorphic type inference and abstract data typesACM Transactions on Programming Languages and Systems, 1994
- Report on the programming language HaskellACM SIGPLAN Notices, 1992
- Parametric type classesPublished by Association for Computing Machinery (ACM) ,1992
- Efficient Type Inference Using Monads (Summary)Published by Springer Nature ,1992
- On the complexity of ML typability with overloadingPublished by Springer Nature ,1991
- Basic polymorphic typecheckingScience of Computer Programming, 1987
- Miranda: A non-strict functional language with polymorphic typesLecture Notes in Computer Science, 1985