The DOI matches its Crossref record; 14 of the 14 references it cites were found in a registry or an index.
How to make ad-hoc polymorphism less ad hoc
Open accessAbstract
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.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Smalltalk-80: The Language and its Implementation
Goldberg, A., & Robson, D. J. (1983) · HAL · Cited by 3,866
Milner, R., Harper, R., MacQueen, D., & Tofte, M. (1997) · The MIT Press eBooks · doi:10.7551/mitpress/2319.001.0001 · Cited by 2,419
A theory of type polymorphism in programming
Milner, R. (1978) · Journal of Computer and System Sciences · doi:10.1016/0022-0000(78)90014-4 · Cited by 2,205
On understanding types, data abstraction, and polymorphism
Cardelli, L., & Wegner, P. (1985) · ACM Computing Surveys · doi:10.1145/6041.6042 · Cited by 1,669
Principal type-schemes for functional programs
Damas, L., & Milner, R. (1982) · Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '82 · doi:10.1145/582153.582176 · Cited by 1,097
Miranda: A non-strict functional language with polymorphic types
Turner, D. A. (1985) · Lecture notes in computer science · doi:10.1007/3-540-15975-4_26 · Cited by 631
The principle type-scheme of an object in combinatory logic
Hindley, R. (1969) · Transactions of the American Mathematical Society · doi:10.1090/s0002-9947-1969-0253905-6 · Cited by 448
Abstract types have existential type
Mitchell, J. C., & Plotkin, G. D. (1988) · ACM Transactions on Programming Languages and Systems · doi:10.1145/44501.45065 · Cited by 429
The Principal Type-Scheme of an Object in Combinatory Logic
Hindley, R. (1969) · Transactions of the American Mathematical Society · doi:10.2307/1995158 · Cited by 319
Milner, R. (1984) · doi:10.1145/800055.802035 · Cited by 253
Cited by
Compiling polymorphism using intensional type analysis
Harper, R., & Morrisett, G. (1995) · Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '95 · doi:10.1145/199448.199475 · Cited by 295
The Lean 4 Theorem Prover and Programming Language
Moura, L. D., & Ullrich, S. (2021) · Lecture Notes in Computer Science · doi:10.1007/978-3-030-79876-5_37 · Cited by 258
CONVENT, L., LINDLEY, S., MCBRIDE, C., & MCLAUGHLIN, C. (2020) · Journal of Functional Programming · doi:10.1017/s0956796820000039 · Cited by 39
Maintaining a Library of Formal Mathematics
van Doorn, F., Ebner, G., & Lewis, R. Y. (2020) · Lecture Notes in Computer Science · doi:10.1007/978-3-030-53518-6_16 · Cited by 29
Metadata
- Authors
- Wadler, P., & Blott, S.
- Venue
- Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89
- Publisher
- ACM Press
- Published
- 1989
- Pages
- 60-76
- OpenAlex
- W2059895047
- Cited by
- 773
- References
- 14
- FWCI
- 11.68
- Type
- conference paper
- Language
- en
- Open access
- bronze
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: How to make ad-hoc polymorphism less ad hoc. https://app.cochat.ai/papers/10.1145/75277.75283
- The paper
- Wadler, P., & Blott, S. (1989). How to make ad-hoc polymorphism less ad hoc. Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '89. https://doi.org/10.1145/75277.75283
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.