How to make ad-hoc polymorphism less ad hoc

  title={How to make ad-hoc polymorphism less ad hoc},
  author={P. Wadler and S. Blott},
  booktitle={POPL '89},
This paper presents type classes, a new approach to ad-hoc polymorphism. Type classes permit overloading of arithmetic operators such as multiplication, and generalise the “eqtype variables” of Standard ML. Type classes extend the Hindley/Milner polymorphic type system, and provide a new approach to issues that arise in object-oriented programming, bounded type quantification, and abstract data types. This paper provides an informal introduction to type classes, and defines them formally by… Expand
863 Citations
Type-safe cast
  • 23
  • PDF
Type Classes in Haskell
  • 145
  • PDF
Type classes in Haskell
  • 186
  • PDF
Type Reconstruction for Type Classes
  • 55
  • PDF
Type checking type classes
  • 47
  • PDF
Type Classes and Constraint Handling Rules
  • 19
  • PDF
Using kinds to type partially-polymorphic methods
  • Daniel Bonniot
  • Computer Science, Mathematics
  • Electron. Notes Theor. Comput. Sci.
  • 2002
  • 8
The limitations of type classes as subtyped implicits (short paper)
  • 1
  • PDF