Formal parametric polymorphism

25Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.

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 qq(X)X→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.

Cite

CITATION STYLE

APA

Abadi, M., Cardelli, L., & Curien, P. L. (1993). Formal parametric polymorphism. In Conference Record of the Annual ACM Symposium on Principles of Programming Languages (pp. 157–170). Publ by ACM. https://doi.org/10.1145/158511.158622

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free