From the type of a polymorphic function we can derive a theorem that it satisfies. Every function of the same type satisfies the same theorem. This provides a free source of useful theorems, courtesy of Reynolds' abstraction theorem for the polymorphic lambda calculus.
|
1483
|
The Definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
1143
|
Imperative functional programming
– Jones, Wadler
- 1993
|
|
826
|
A theory of type polymorphism in programming
– Milner
- 1978
|
|
326
|
Towards a theory of type structure
– Reynolds
- 1974
|
|
278
|
How to Make Ad-hoc Polymorphism Less Ad Hoc
– Wadler, Blott
- 1989
|
|
275
|
Types, abstraction, and parametric polymorphism
– Reynolds
- 1983
|
|
269
|
Proofs and Types
– Girard, Lafont, et al.
- 1989
|
|
224
|
Principal type schemes for functional programs
– Damas, Milner
- 1982
|
|
132
|
Miranda: A Non-strict Functional Language with Polymorphic Types
– Turner
|
|
124
|
Report on the functional programming language Haskell: A non-strict, purely functional language: Version 1.2
– Hudak, Jones, et al.
- 1992
|
|
122
|
The system F of variable types, fifteen years later
– Girard
- 1986
|
|
88
|
The principal type scheme for an object in combinatory logic
– Hindley
- 1969
|
|
65
|
Three Approaches to Type Structure
– Reynolds
- 1985
|
|
46
|
dI-domains as a model of polymorphism
– Coquand, Gunter, et al.
- 1987
|
|
46
|
Polymorphism is set-theoretic, constructively
– Pitts
|
|
44
|
Functorial polymorphism
– Bainbridge, Freyd, et al.
- 1990
|
|
41
|
Polymorphism is not set-theoretic
– Reynolds
- 1984
|
|
37
|
Inheritance and explicit coercion
– Breazu-Tannen, Coquand, et al.
- 1991
|
|
35
|
The Standard ML core language
– MILNER
- 1985
|
|
33
|
The Expressiveness of Simple and Second-Order Type Structures
– St, Leivant, et al.
- 1983
|
|
20
|
Representation independence and data abstraction
– Mitchell
- 1991
|
|
19
|
Interprétation Functionelle et Élimination des Coupures dans l’Arithmétique d’Order Supérieure
– Girard
- 1972
|
|
18
|
Second-order logical relations
– Mitchell, Meyer
- 1985
|
|
3
|
The semantics of second-order polymorphic lambda calculus
– Bruce, Meyer
- 1984
|
|
3
|
Semantic parametricity in polymorphic lambda calculus
– Freyd, Girard, et al.
- 1988
|
|
3
|
Relating Models of Polymorphism
– Meseguer
- 1989
|
|
3
|
Categories for the working hardware designer
– Sheeran
- 1990
|
|
1
|
Derivation of a pattern-matching compiler
– Barrett, Wadler
- 1986
|
|
1
|
Naturalness of polymorphism. Submitted to Category Theory
– deBruin
- 1989
|