## An Introduction to Polymorphic Lambda Calculus (1994)

Venue: | Logical Foundations of Functional Programming |

Citations: | 4 - 0 self |

### BibTeX

@INPROCEEDINGS{Reynolds94anintroduction,

author = {John C. Reynolds},

title = {An Introduction to Polymorphic Lambda Calculus},

booktitle = {Logical Foundations of Functional Programming},

year = {1994},

pages = {77--86},

publisher = {Addison-Wesley}

}

### OpenURL

### Abstract

Introduction to the Polymorphic Lambda Calculus John C. Reynolds Carnegie Mellon University December 23, 1994 The polymorphic (or second-order) typed lambda calculus was invented by Jean-Yves Girard in 1971 [11, 10], and independently reinvented by myself in 1974 [24]. It is extraordinary that essentially the same programming language was formulated independently by the two of us, especially since we were led to the language by entirely different motivations. In my own case, I was seeking to extend conventional typed programming languages to permit the definition of "polymorphic" procedures that could accept arguments of a variety of types. I started with the ordinary typed lambda calculus and added the ability to pass types as parameters (an idea that was "in the air" at the time, e.g. [4]). For example, as in the ordinary typed lambda calculus one can write f int!int : x int : f(f (x)) to denote the "doubling" function for the type int, which accepts a function from integers