Abstract
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.
Original language | English |
---|---|
Title of host publication | POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages |
Place of Publication | New York, NY, USA |
Publisher | ACM |
Pages | 60-76 |
Number of pages | 17 |
ISBN (Print) | 0-89791-294-2 |
DOIs | |
Publication status | Published - 1989 |