|
ABSTRACT
A polymorphic function is parametric if its behavior does not
depend on the type at which it is instantiated. Starting with Reynolds'
work, the study of parametricity is typically semantic. In this paper,
we develop a syntactic approach to parametricity, and a formal system
that embodies this approach: system
R
. Girard's system F deals with terms and types;
R
is an extension of F that deals also with relations
between types.
In
R
**, it is possible to derive theorems about functions
from their types, or “theorems for free”, as Wadler calls
them. An easy “theorem for free”
asserts that the type
∀XX→
Bool contains only constant
functions; this is not provable in F. There are many harder and more
substantial examples. Various metatheorems can also be obtained, such as
a syntactic version of Reynolds' abstraction theorem.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
Bainbridge, et al. 1990
|
|
| |
Böhm, Berarducci 1985
|
C. BOhm and A. Berarducci, Automatic synthesis of typed Z,-programs on term algebras. Theoretical Computer Science 39, 135-154.
|
| |
Cardelli, et al. 1991
|
|
| |
Girard, Lafont, Taylor 1989
|
|
| |
Hasegawa 1991
|
|
| |
Hasegawa 1992
|
R. Hasegawa, Categorical data types in parametric polymorphism. Manuscript.
|
| |
Hyland, Robinson, Rosolini 1990
|
|
| |
Longo, Milstead, Soloviev 1992
|
G. Longo, C. Milstead, and S. Soloviev, A syntactic understanding of parametricity in polymorphic languages. Manuscript.
|
| |
Longo, Moggi 1991
|
G. Longo and E. Moggi, Constructive natural deduction and its 'obset' interpretation. Mathematical Structures in Computer Science 1(2).
|
 |
Ma 1992
|
|
| |
Ma, Reynolds 1991
|
|
| |
Mairson 1991
|
|
| |
Milner, Tofte, Harper 1989
|
|
| |
Mitchell, Scedrov 1992
|
J.C. Mitchell and A. Scedrov, Sconing, relators, and parametricity. Manuscript.
|
| |
Plotkin, Abadi, Cardelli 1992
|
G.D. Plotkin, M. Abadi, and L. Cardelli, A logic for parametric polymor. phism. Manuscript.
|
| |
Reynolds 1983
|
J.C. Reynolds, Types, abstraction, and parametric polymorphism, in Information Processing, R.E.A. Mason, Editor. North Holland: p. 513-523.
|
| |
Strachey 1967
|
C. Strachey, Fundamental concepts in programming languages. Lecture notes for the International Summer School in Computer Programming, Copenhagen, August 1967.
|
| |
Wadler 1989
|
P. Wadler. Theorems for free! Proc. 4th International Symposium on Functional Programming Languages and Computer Architecture. Springer- Verlag.
|
| |
Wadler 1991
|
P. Wadler, Recursive types for free! Manuscript.
|
CITED BY 4
|
|
|
|
|
|
|
|
|
|
|
Martin Sulzmann , Manuel M. T. Chakravarty , Simon Peyton Jones , Kevin Donnelly, System F with type equality coercions, Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation, January 16-16, 2007, Nice, Nice, France
|
|