Results 1  10
of
12
ECC, an Extended Calculus of Constructions
, 1989
"... We present a higherorder calculus ECC which can be seen as an extension of the calculus of constructions [CH88] by adding strong sum types and a fully cumulative type hierarchy. ECC turns out to be rather expressive so that mathematical theories can be abstractly described and abstract mathematics ..."
Abstract

Cited by 84 (4 self)
 Add to MetaCart
We present a higherorder calculus ECC which can be seen as an extension of the calculus of constructions [CH88] by adding strong sum types and a fully cumulative type hierarchy. ECC turns out to be rather expressive so that mathematical theories can be abstractly described and abstract mathematics may be adequately formalized. It is shown that ECC is strongly normalizing and has other nice prooftheoretic properties. An !\GammaSet (realizability) model is described to show how the essential properties of the calculus can be captured settheoretically.
Types, Abstraction, and Parametric Polymorphism, Part 2
, 1991
"... The concept of relations over sets is generalized to relations over an arbitrary category, and used to investigate the abstraction (or logicalrelations) theorem, the identity extension lemma, and parametric polymorphism, for Cartesianclosedcategory models of the simply typed lambda calculus and P ..."
Abstract

Cited by 53 (1 self)
 Add to MetaCart
The concept of relations over sets is generalized to relations over an arbitrary category, and used to investigate the abstraction (or logicalrelations) theorem, the identity extension lemma, and parametric polymorphism, for Cartesianclosedcategory models of the simply typed lambda calculus and PLcategory models of the polymorphic typed lambda calculus. Treatments of Kripke relations and of complete relations on domains are included.
Syntax and Semantics of Dependent Types
 Semantics and Logics of Computation
, 1997
"... ion is written as [x: oe]M instead of x: oe:M and application is written M(N) instead of App [x:oe] (M; N ). 1 Iterated abstractions and applications are written [x 1 : oe 1 ; : : : ; x n : oe n ]M and M(N 1 ; : : : ; N n ), respectively. The lacking type information can be inferred. The universe ..."
Abstract

Cited by 40 (4 self)
 Add to MetaCart
ion is written as [x: oe]M instead of x: oe:M and application is written M(N) instead of App [x:oe] (M; N ). 1 Iterated abstractions and applications are written [x 1 : oe 1 ; : : : ; x n : oe n ]M and M(N 1 ; : : : ; N n ), respectively. The lacking type information can be inferred. The universe is written Set instead of U . The Eloperator is omitted. For example the \Pitype is described by the following constant and equality declarations (understood in every valid context): ` \Pi : (oe: Set; : (oe)Set)Set ` App : (oe: Set; : (oe)Set; m: \Pi(oe; ); n: oe) (m) ` : (oe: Set; : (oe)Set; m: (x: oe) (x))\Pi(oe; ) oe: Set; : (oe)Set; m: (x: oe) (x); n: oe ` App(oe; ; (oe; ; m); n) = m(n) Notice, how terms with free variables are represented as framework abstractions (in the type of ) and how substitution is represented as framework application (in the type of App and in the equation). In this way the burden of dealing correctly with variables, substitution, and binding is s...
Monadic Encapsulation of Effects: A Revised Approach (Extended Version)
 Journal of Functional Programming
, 1999
"... Launchbury and Peyton Jones came up with an ingenious idea for embedding regions of imperative programming in a pure functional language like Haskell. The key idea was based on a simple modification of HindleyMilner's type system. Our first contribution is to propose a more natural encapsulation co ..."
Abstract

Cited by 28 (4 self)
 Add to MetaCart
Launchbury and Peyton Jones came up with an ingenious idea for embedding regions of imperative programming in a pure functional language like Haskell. The key idea was based on a simple modification of HindleyMilner's type system. Our first contribution is to propose a more natural encapsulation construct exploiting higherorder kinds, which achieves the same encapsulation effect, but avoids the ad hoc type parameter of the original proposal. The second contribution is a type safety result for encapsulation of strict state using both the original encapsulation construct and the newly introduced one. We establish this result in a more expressive context than the original proposal, namely in the context of the higherorder lambdacalculus. The third contribution is a type safety result for encapsulation of lazy state in the higherorder lambdacalculus. This result resolves an outstanding open problem on which previous proof attempts failed. In all cases, we formalize the intended implementations as simple bigstep operational semantics on untyped terms, which capture interesting implementation details not captured by the reduction semantics proposed previously. 1
A Typetheoretic Reconstruction of the Visitor Pattern
, 2005
"... In objectoriented languages, the Visitor pattern can be used to traverse treelike data structures: a visitor object contains some operations, and the data structure objects allow themselves to be traversed by accepting visitors. In the polymorphic lambda calculus (System F), treelike data structu ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
In objectoriented languages, the Visitor pattern can be used to traverse treelike data structures: a visitor object contains some operations, and the data structure objects allow themselves to be traversed by accepting visitors. In the polymorphic lambda calculus (System F), treelike data structures can be encoded as polymorphic higherorder functions. In this paper, we reconstruct the Visitor pattern from the polymorphic encoding by way of generics in Java. We sketch how the quantified types in the polymorphic encoding can guide reasoning about visitors in general.
Modular monad transformers
 In ESOP ’09: Proceedings of the 18th European Symposium on Programming Languages and Systems
, 2009
"... Abstract. During the last two decades, monads have become an indispensable tool for structuring functional programs with computational effects. In this setting, the mathematical notion of a monad is extended with operations that allow programmers to manipulate these effects. When several effects are ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
Abstract. During the last two decades, monads have become an indispensable tool for structuring functional programs with computational effects. In this setting, the mathematical notion of a monad is extended with operations that allow programmers to manipulate these effects. When several effects are involved, monad transformers can be used to build up the required monad one effect at a time. Although this seems to be modularity nirvana, there is a catch: in addition to the construction of a monad, the effectmanipulating operations need to be lifted to the resulting monad. The traditional approach for lifting operations is nonmodular and adhoc. We solve this problem with a principled technique for lifting operations that makes monad transformers truly modular. 1
A New Paradox in Type Theory
 Logic, Methodology and Philosophy of Science IX : Proceedings of the Ninth International Congress of Logic, Methodology, and Philosophy of Science
, 1994
"... this paper is to present a new paradox for Type Theory, which is a typetheoretic refinement of Reynolds' result [24] that there is no settheoretic model of polymorphism. We discuss then one application of this paradox, which shows unexpected connections between the principle of excluded middle and ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
this paper is to present a new paradox for Type Theory, which is a typetheoretic refinement of Reynolds' result [24] that there is no settheoretic model of polymorphism. We discuss then one application of this paradox, which shows unexpected connections between the principle of excluded middle and the axiom of description in impredicative Type Theories. 1 Minimal and Polymorphic HigherOrder Logic
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
The GirardReynolds isomorphism (second edition
 Theoretical Computer Science
, 2004
"... polymorphic lambda calculus, F2. Girard additionally proved a Representation Theorem: every function on natural numbers that can be proved total in secondorder intuitionistic predicate logic, P2, can be represented in F2. Reynolds additionally proved an Abstraction Theorem: every term in F2 satisfi ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
polymorphic lambda calculus, F2. Girard additionally proved a Representation Theorem: every function on natural numbers that can be proved total in secondorder intuitionistic predicate logic, P2, can be represented in F2. Reynolds additionally proved an Abstraction Theorem: every term in F2 satisfies a suitable notion of logical relation; and formulated a notion of parametricity satisfied by wellbehaved models. 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. We show that the inductive naturals are exactly those values of type natural that satisfy Reynolds’s notion of parametricity, and as a consequence characterize situations in which the Girard projection followed by the Reynolds embedding is also the identity. An earlier version of this paper used a logic over untyped terms. This version uses a logic over typed term, similar to ones considered by Abadi and Plotkin and by Takeuti, which better clarifies the relationship between F2 and P2. This paper uses colour to enhance its presentation. If the link below is not blue, follow it for the colour version.