ACM Home Page
Please provide us with feedback. Feedback
Formal parametric polymorphism
Full text PdfPdf (1.01 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, United States
Pages: 157 - 170  
Year of Publication: 1993
ISBN:0-89791-560-7
Authors
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 31,   Citation Count: 4
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/158511.158622
What is a DOI?

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.


Collaborative Colleagues:
Martín Abadi: colleagues
Luca Cardelli: colleagues
Pierre-Louis Curien: colleagues