How to make ad-hoc polymorphism less ad hoc

P. Wadler, Stephen Blott
1989
1 reference

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.

1 repository
1 reference

Code References

rust-lang/rust
1 file
src/doc/rustc-dev-guide/src/appendix/bibliography.md
1
* [Making ad-hoc polymorphism less ad hoc](https://dl.acm.org/doi/10.1145/75277.75283)
Link copied to clipboard!