How to make ad-hoc polymorphism less ad hoc

P Wadler, S Blott - Proceedings of the 16th ACM SIGPLAN-SIGACT …, 1989 - dl.acm.org
Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of …, 1989dl.acm.org
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 means of type inference rules.
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 means of type inference rules.
ACM Digital Library