Results 1 
9 of
9
Programming with Intersection Types and Bounded Polymorphism
, 1991
"... representing the official policies, either expressed or implied, of the U.S. Government. ..."
Abstract

Cited by 67 (4 self)
 Add to MetaCart
representing the official policies, either expressed or implied, of the U.S. Government.
Programming With Intersection Types, Union Types, and Polymorphism
, 1991
"... Type systems based on intersection types have been studied extensively in recent years, both as tools for the analysis of the pure calculus and, more recently, as the basis for practical programming languages. The dual notion, union types, also appears to have practical interest. For example, by re ..."
Abstract

Cited by 50 (3 self)
 Add to MetaCart
Type systems based on intersection types have been studied extensively in recent years, both as tools for the analysis of the pure calculus and, more recently, as the basis for practical programming languages. The dual notion, union types, also appears to have practical interest. For example, by refining types ordinarily considered as atomic, union types allow a restricted form of abstract interpretation to be performed during typechecking. The addition of secondorder polymorphic types further increases the power of the type system, allowing interesting variants of many common datatypes to be encoded in the "pure" fragment with no type or term constants. This report summarizes a preliminary investigation of the expressiveness of a programming language combining intersection types, union types, and polymorphism.
Intersection Types and Bounded Polymorphism
, 1996
"... this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a typetheoretic model of objectoriented multiple inheritance (Compagnoni & Pierce, 1996). Related calculi combining restricted forms of intersection types with higherorder polymorphism ..."
Abstract

Cited by 37 (0 self)
 Add to MetaCart
this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a typetheoretic model of objectoriented multiple inheritance (Compagnoni & Pierce, 1996). Related calculi combining restricted forms of intersection types with higherorder polymorphism and dependent types have been studied by Pfenning (Pfenning, 1993). Following a more detailed discussion of the pure systems of intersections and bounded quantification (Section 2), we describe, in Section 3, a typed calculus called F ("Fmeet ") integrating the features of both. Section 4 gives some examples illustrating this system's expressive power. Section 5 presents the main results of the paper: a prooftheoretic analysis of F 's subtyping and typechecking relations leading to algorithms for checking subtyping and for synthesizing minimal types for terms. Section 6 discusses semantic aspects of the calculus, obtaining a simple soundness proof for the typing rules by interpreting types as partial equivalence relations; however, another prooftheoretic result, the nonexistence of least upper bounds for arbitrary pairs of types, implies that typed models may be more difficult to construct. Section 7 offers concluding remarks. 2. Background
The Calculus of Constructions and Higher Order Logic
 In preparation
, 1992
"... The Calculus of Constructions (CC) ([Coquand 1985]) is a typed lambda calculus for higher order intuitionistic logic: proofs of the higher order logic are interpreted as lambda terms and formulas as types. It is also the union of Girard's system F! ([Girard 1972]), a higher order typed lambda calcul ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The Calculus of Constructions (CC) ([Coquand 1985]) is a typed lambda calculus for higher order intuitionistic logic: proofs of the higher order logic are interpreted as lambda terms and formulas as types. It is also the union of Girard's system F! ([Girard 1972]), a higher order typed lambda calculus, and a first order dependent typed lambda calculus in the style of de Bruijn's Automath ([de Bruijn 1980]) or MartinLof's intuitionistic theory of types ([MartinLof 1984]). Using the impredicative coding of data types in F! , the Calculus of Constructions thus becomes a higher order language for the typing of functional programs. We shall introduce and try to explain CC by exploiting especially the first point of view, by introducing a typed lambda calculus that faithfully represent higher order predicate logic (so for this system the CurryHoward `formulasastypes isomorphism' is really an isomorphism.) Then we discuss some propositions that are provable in CC but not in the higher or...
The GirardReynolds isomorphism
 Proc. of 4th Int. Symp. on Theoretical Aspects of Computer Science, TACS 2001
, 2001
"... Abstract. The secondorder polymorphic lambda calculus, F2, was independently discovered by Girard and Reynolds. Girard additionally proved a representation theorem: every function on natural numbers that can be proved total in secondorder intuitionistic propositional logic, P2, can be represented ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Abstract. The secondorder polymorphic lambda calculus, F2, was independently discovered by Girard and Reynolds. Girard additionally proved a representation theorem: every function on natural numbers that can be proved total in secondorder intuitionistic propositional logic, P2, can be represented in F2. Reynolds additionally proved an abstraction theorem: for a suitable notion of logical relation, every term in F2 takes related arguments into related results. We observe that the essence of Girard’s result is a projection from P2 into F2, and that the essence of Reynolds’s result is an embedding of F2 into P2, and that the Reynolds embedding followed by the Girard projection is the identity. The Girard projection discards all firstorder quantifiers, so it seems unreasonable to expect that the Girard projection followed by the Reynolds embedding should also be the identity. However, we show that in the presence of Reynolds’s parametricity property that this is indeed the case, for propositions corresponding to inductive definitions of naturals, products, sums, and fixpoint types. 1
Inductive, Projective, and Retractive Types
, 1993
"... We give an analysis of classes of recursive types by presenting two extensions of the simplytyped lambda calculus. The first language only allows recursive types with builtin principles of wellfounded induction, while the second allows more general recursive types which permit nonterminating com ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We give an analysis of classes of recursive types by presenting two extensions of the simplytyped lambda calculus. The first language only allows recursive types with builtin principles of wellfounded induction, while the second allows more general recursive types which permit nonterminating computations. We discuss the expressive power of the languages, examine the properties of reductionbased operational semantics for them, and give examples of their use in expressing iteration over large ordinals and in simulating both callbyname and callbyvalue versions of the untyped lambda calculus. The motivations for this work come from category theoretic models. 1 Introduction An examination of the common uses of recursion in defining types reveals that there are two distinct classes of operations being performed. The first class of recursive type contains what are generally known as the "inductive" types, as well as their duals, the "coinductive" or "projective" types. The distingui...
Relational Limits in General Polymorphism
, 1993
"... Parametric models of polymorphic lambda calculus have the structure of enriched categories with cotensors and ends in some generalized sense, and thus have many categorical data types induced by them. The !order minimum model is a parametric model. 1 Introduction Higher order quantifier of polymor ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Parametric models of polymorphic lambda calculus have the structure of enriched categories with cotensors and ends in some generalized sense, and thus have many categorical data types induced by them. The !order minimum model is a parametric model. 1 Introduction Higher order quantifier of polymorphic lambda calculus has several meanings. Two inventors of the calculus use different symbols. When Girard wrote V X:F (X) [10] (\PiX:F (X) in [12]), it corresponded to a higher order quantified formula 8X:F (X) via CurryHoward isomorphism. When Reynolds wrote \DeltaX:F (X) [33], it was the type of polymorphism, especially of parametric polymorphism [34]. The third interpretation leaded by categorical semantics is that the quantified type, we write 8X:F (X), is a kind of limits. The notation \PiX:F (X) suggests that it might be regarded as a product of all F (X) where X ranges over all types. That is to say, \PiX:F (X) is the collection of all sections (a section is a function sending a...
ObjectOriented Programming in Typed LambdaCalculus: Exercises and Solutions
, 1993
"... This document offers a series of programming exercises to accompany a recent series of research papers [HP92, PT93, PT92, Pie93b] on implementing the basic features of objectoriented programming in typed lambdacalculus. Solutions to most of the exercises are given beginning on page 10. Most of the ..."
Abstract
 Add to MetaCart
This document offers a series of programming exercises to accompany a recent series of research papers [HP92, PT93, PT92, Pie93b] on implementing the basic features of objectoriented programming in typed lambdacalculus. Solutions to most of the exercises are given beginning on page 10. Most of the exercises involve programming in the typed lambdacalculus F . Although these exercises can be worked on paper, they will be easier and more enjoyable if solved online. The executable image for a prototype compiler is available by anonymous FTP: ftp ftp.dcs.ed.ac.uk [or 129.215.160.5] login: anonymous password: !your mail address? cd pub/bcp binary [don't forget this!] get fomega.sun4.tar.Z quit uncompress fomega.sun4.tar.Z tar xvf fomega.sun4.tar The distributed binary runs only on Sun4 processors, but it can be recompiled on any machine that supports the Standard ML of New Jersey compiler. Sources for the compiler are available from the same FTP archive, in the file checkers.tar.Z