## 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

### Citations

248 |
Interprétation Fonctionnelle et Élimination des Coupures de l’Arithmétique d’Ordre Supérieur
- Girard
- 1972
(Show Context)
Citation Context ...ction 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... |

231 |
Une extension de l’interpretation de Gödel, à l’analyse, et son application l’élimination des coupures dans l’analyse et la théorie des types
- Girard
- 1971
(Show Context)
Citation Context ...ction 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... |

157 |
Fundamental concepts in programming languages
- Strachey
- 1967
(Show Context)
Citation Context ... Mitchell, Moggi, and Statman. Another shortcoming of the domain-based models is their failure to capture the notion of "parametricity". When Christopher Strachey first coined the word "=-=;polymorphism" [27]-=-, he distinguished between ad hoc polymorphic functions, which can have arbitrarily different meanings for different types, and parametric polymorphic functions, which must behave similarly for differ... |

148 |
Intuitionistic Type Theory. Bibliopolis
- Martin-Löf
- 1984
(Show Context)
Citation Context ...fied over. (This circularity is also present in Huet's Theory of Constructions, which includes the polymorphic calculus as a sublanguage, but not in the types-as-propositions formalisms of Martin-Lof =-=[17]-=- or Constable [5].) Despite this circularity, Girard showed that every expression of the polymorphic typed lambda calculus possesses a normal form, i.e. that every expression can be reduced by some fi... |

129 | Ideas and results in proof theory - Prawitz - 1971 |

127 |
Metamathematical investigation of intuitionistic Arithmetic andAnalysis
- Troelstra
- 1973
(Show Context)
Citation Context ...ecies. In the first, the meaning of a type is (the set of equivalence classes of) a partial equivalence relation on a model of the untyped lambda calculus. This view characterizes the earliest models =-=[10, 29], as well -=-as recent work [16, 20, 9, 14, 3, and in this volume, John Mitchell's "A Type-Inference Approach to Reduction Properties and Semantics of Polymorphic Expressions"] that embeds such models in... |

117 | Proof theory - TAKEUTI - 1987 |

104 |
et al . Implementing Mathematics with the Nuprl
- Constable
- 1986
(Show Context)
Citation Context ...ircularity is also present in Huet's Theory of Constructions, which includes the polymorphic calculus as a sublanguage, but not in the types-as-propositions formalisms of Martin-Lof [17] or Constable =-=[5]-=-.) Despite this circularity, Girard showed that every expression of the polymorphic typed lambda calculus possesses a normal form, i.e. that every expression can be reduced by some finite sequence of ... |

82 |
The effective topos
- Hyland
- 1982
(Show Context)
Citation Context ...d in this volume, John Mitchell's "A Type-Inference Approach to Reduction Properties and Semantics of Polymorphic Expressions"] that embeds such models in the natural setting of the "ef=-=fective topos" [13]. (The con-=-nection between this kind of model and the effective topos, or equivalently, the "realizability universe", seemed to have been first noted by Moggi.) In the second kind of model, the meaning... |

63 | Combinatory Logic Volume I - Curry, Feys - 1958 |

46 |
DI-domains as a model of polymorphism
- Coquand, Winskel
- 1986
(Show Context)
Citation Context ...domain-based models also contain ad hoc functions. It is not known whether any of the partial-equivalence-relation models enforce parametricity (except, in a trival sense, the collapsed term model of =-=[3]-=-). Indeed, at present there is no general agreement on how to define parametricity precisely and generally, although a first attempt in this direction was given in [25], and a more recent approach app... |

44 |
Automatic synthesis of typed #-programs on term algebras
- ohm, Berarducci
- 1985
(Show Context)
Citation Context ...type s, reflecting the idea that the fundamental use of a list is to reduce the list (in the sense of APL). These encodings are all special cases of a general result, discovered independently by Bohm =-=[2]-=- and Leivant [15], and anticipated in the work of Takeuti [28, Proposition 3.15.18]. For any 4 many-sorted algebraic signature without laws, there is a set of polymorphic types (one for each sort) who... |

38 |
Categorical semantics for higher order polymorphic lambda calculus
- Seely
- 1986
(Show Context)
Citation Context ...d by Kim Bruce, Albert Meyer, and John Mitchell in "The Semantics of Second-Order Lambda Calculus". A more abstract answer to this question, using category-theoretic concepts, has been given=-= by Seely [26]-=-. 6 The polymorphic lambda calculus also raises the problem of type inference. Although type inference is straightforward for the explicitly typed form of the calculus, the explicit statement of types... |

34 | Domain theoretical models of polymorphism
- Coquand, Gunter, et al.
- 1989
(Show Context)
Citation Context ...ised a model based on the use of qualitative domains and stable functions, which is described in his paper "The System F of Variable Types, 15 Years Later." Other models of this kind are des=-=cribed in [6, 7]-=-. The domain-based models describe not only the pure calculus but also the extension obtained by adding fixed-point operators. Thus they fail to capture the fact that all expressions denote terminatin... |

34 | A small complete category - Hyland - 1987 |

33 |
Reasoning about functional programs and complexity classes associated with type disciplines
- Leivant
- 1983
(Show Context)
Citation Context ...ng the idea that the fundamental use of a list is to reduce the list (in the sense of APL). These encodings are all special cases of a general result, discovered independently by Bohm [2] and Leivant =-=[15]-=-, and anticipated in the work of Takeuti [28, Proposition 3.15.18]. For any 4 many-sorted algebraic signature without laws, there is a set of polymorphic types (one for each sort) whose closed normal ... |

26 |
An Investigation of a Programming Language with a Polymorphic Type Structure
- McCracken
- 1979
(Show Context)
Citation Context ... topos, or equivalently, the "realizability universe", seemed to have been first noted by Moggi.) In the second kind of model, the meaning of a type is a Scott domain. In the earliest of the=-=se models [19]-=-, these domains were sets of fixed points of closures of a universal domain, where a closure of a domain is an idempotent continuous function from the domain to itself that extends the identity functi... |

24 |
Types, Abstraction and Parametric Polymorphism, in: Information Processing 83
- Reynolds
- 1983
(Show Context)
Citation Context ...nse, the collapsed term model of [3]). Indeed, at present there is no general agreement on how to define parametricity precisely and generally, although a first attempt in this direction was given in =-=[25]-=-, and a more recent approach appears in the paper by Bainbridge, Freyd, Scedrov, and Scott in the next section of this volume. The fact that all expressions are strongly normalizable, and that certain... |

20 |
Thefinitary projection model for second order lambda calculus and solutions to higher order domain equations
- Amadio, Bruce, et al.
- 1986
(Show Context)
Citation Context ...rphic to the set of fixed points of a closure of U ! U . 5 Similar models have been developed in which the concept of closure is replaced by that of finitary retraction [18] or of finitary projection =-=[1]. More rec-=-ently, Girard has devised a model based on the use of qualitative domains and stable functions, which is described in his paper "The System F of Variable Types, 15 Years Later." Other models... |

16 |
Constructive natural deduction and its !-set interpretation
- Longo, Moggi
- 1991
(Show Context)
Citation Context ...ing year --- to my embarassment --- I proved the conjecture false [22]. (This proof uses a cardinality argument that can be made in classical, but not constructive logic. Indeed, as shown in [20] and =-=[16]-=-, set-theoretic models can be found in a constructive metatheory.) Soon thereafter, Gordon Plotkin generalized my proof, showing that it is based upon a general property of functors (on the Cartesian ... |

9 |
Polymorphism is Set Theoretic, Constructively. in: Category Theory and Computer Science
- Pitts
(Show Context)
Citation Context ...he following year --- to my embarassment --- I proved the conjecture false [22]. (This proof uses a cardinality argument that can be made in classical, but not constructive logic. Indeed, as shown in =-=[20]-=- and [16], set-theoretic models can be found in a constructive metatheory.) Soon thereafter, Gordon Plotkin generalized my proof, showing that it is based upon a general property of functors (on the C... |

8 | Some semantic aspects of polymorphic lambda calculus - Freyd, Scedrov |

8 |
Polymorphism is not set-theoretic. In: Semantics of Data Types, edited by
- Reynolds
- 1984
(Show Context)
Citation Context ...te sets and S ! S 0 denotes the set of all functions from S to S 0 . Indeed, I made such a conjecture in 1983 [25]. Then in the following year --- to my embarassment --- I proved the conjecture false =-=[22]-=-. (This proof uses a cardinality argument that can be made in classical, but not constructive logic. Indeed, as shown in [20] and [16], set-theoretic models can be found in a constructive metatheory.)... |

8 |
Towards a theory of type structure. Programming symposium
- Reynolds
- 1974
(Show Context)
Citation Context ... 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 m... |

6 |
The formulas-as-types notion of construction, in Curry Festschrift, Hindley and Seldin eds, 479-490
- Howard
- 1980
(Show Context)
Citation Context ...at led Girard to essentially the same language was entirely different; he was seeking to extend an analogy between types and propositions that was originally found by Curry [8, Section 9E] and Howard =-=[12]-=-. Types can be viewed as propositions by regarding the type constructor ! as the Boolean connective implies. (Similarly, one can regard the Cartesian product constructor \Theta as the connective and a... |

6 |
A Finitary Retract Model for the Polymorphic Lambda-Calculus
- McCracken
- 1982
(Show Context)
Citation Context ... as meanings of types, is isomorphic to the set of fixed points of a closure of U ! U . 5 Similar models have been developed in which the concept of closure is replaced by that of finitary retraction =-=[18] or o-=-f finitary projection [1]. More recently, Girard has devised a model based on the use of qualitative domains and stable functions, which is described in his paper "The System F of Variable Types,... |

3 |
On the Basis for ELF --- An Extensible Language Facility
- Cheatham, Fischer, et al.
- 1968
(Show Context)
Citation Context ...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 t=-=ime, e.g. [4]). For exa-=-mple, 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 to intege... |

2 |
DI-Domains as a Model of Polymorphism. in: Mathematical Foundations of Programming Language Semantics, 3rd Workshop
- Coquand, Gunter, et al.
- 1987
(Show Context)
Citation Context ...ised a model based on the use of qualitative domains and stable functions, which is described in his paper "The System F of Variable Types, 15 Years Later." Other models of this kind are des=-=cribed in [6, 7]-=-. The domain-based models describe not only the pure calculus but also the extension obtained by adding fixed-point operators. Thus they fail to capture the fact that all expressions denote terminatin... |

1 |
Three Approaches to Type Structure. in: Mathematical Foundations of Software Development
- Reynolds
- 1985
(Show Context)
Citation Context ...s among these types. Thus the polymorphic calculus encompasses algebraic data types as well as number-theoretic computations. Several examples of the kind of programming that is entailed are given in =-=[23]-=-. In summary, the polymorphic typed lambda calculus is far more than an extension of the simply typed lambda calculus that permits polymorphism. It is a language that guarantees the termination of all... |