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.
|
1415
|
The Definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
1122
|
Introduction to Functional Programming
– Bird, Wadler
- 1988
|
|
806
|
A Theory of Type Polymorphism in Programming
– Milner
- 1978
|
|
304
|
Towards a theory of type structure
– Reynolds
- 1974
|
|
280
|
How to make ad-hoc polymorphism less ad-hoc
– Wadler, Blott
- 1989
|
|
278
|
Types, abstraction and parametric polymorphism
– Reynolds
- 1983
|
|
264
|
Proofs and Types
– Girard, Taylor, et al.
- 1989
|
|
217
|
Principal type schemes for functional programs
– Milner, Damas
- 1982
|
|
131
|
Miranda: A non-strict functional language with polymorphic types
– TURNER
- 1985
|
|
122
|
The system F of variable types, fifteen years later
– Girard
- 1986
|
|
114
|
Report on the Functional Programming Language Haskell: a non{strict, purely functional language. Sigplan Notices
– Hudak, Peyton-Jones, et al.
- 1992
|
|
88
|
The principal type scheme for an object in combinatory logic
– Hindley
- 1969
|
|
64
|
Three approaches to type structure
– Reynolds
- 1985
|
|
46
|
Polymorphism is set-theoretic, constructively
– Pitts
- 1987
|
|
45
|
Polymorphism is not Set-Theoretic
– Reynolds
|
|
42
|
Functorial polymorphism
– Bainbridge, Freyd, et al.
- 1990
|
|
42
|
DI-domains as a model of polymorphism
– Coquand, Gunter, et al.
- 1987
|
|
31
|
Inheritance and explicit coercion
– Breazu-Tannen, Coquand, et al.
- 1991
|
|
30
|
The Standard ML core language
– Milner
- 1985
|
|
29
|
The Expressiveness of Simple and Second-Order Type Structures
– Fortune, Leivant, et al.
- 1983
|
|
22
|
Representation independence and data abstraction
– Mitchell
- 1986
|
|
18
|
Interpr'etation functionelle et 'elimination des coupures dans l'arithm'etique d'ordre sup'erieure
– Girard
- 1972
|
|
15
|
1985], ‘(Second-order logical relations
– Mitchell, Meyer
|
|
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
|