Results 1 -
7 of
7
A theory of primitive objects: second-order systems
- Proc. ESOP’94 - European Symposium on Programming
"... We describe a second-order calculus of objects. The calculus supports object subsumption, method override, and the type Self. It is constructed as an extension of System F with subtyping, recursion, and first-order object types. 1. ..."
Abstract
-
Cited by 53 (7 self)
- Add to MetaCart
We describe a second-order calculus of objects. The calculus supports object subsumption, method override, and the type Self. It is constructed as an extension of System F with subtyping, recursion, and first-order object types. 1.
A Simple Proof Technique for Certain Parametricity Results
- In 4th ACM International Conference on Functional Programming
, 1998
"... Many properties of parametric, polymorphic functions can be determined simply by inspection of their types. Such results are usually proven using Reynolds's parametricity theorem. However, Reynolds's theorem can be difficult to show in some settings, particularly ones involving computational effects ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
Many properties of parametric, polymorphic functions can be determined simply by inspection of their types. Such results are usually proven using Reynolds's parametricity theorem. However, Reynolds's theorem can be difficult to show in some settings, particularly ones involving computational effects. I present an alternative technique for proving some parametricity results. This technique is considerably simpler and easily generalizes to effectful settings. It works by instantiating polymorphic functions with singleton types that fully specify the behavior of the functions. Using this technique, I show that callers' stacks are protected from corruption during function calls in Typed Assembly Language programs. 1 Introduction A polymorphic function can be termed parametric [11] if it always uses the same algorithm, regardless of the type at which it is applied. In particular, a parametric, polymorphic function can neither branch on nor otherwise analyze its type argument. In many type ...
The Girard-Reynolds isomorphism
- Proc. of 4th Int. Symp. on Theoretical Aspects of Computer Science, TACS 2001
, 2001
"... Abstract. The second-order 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 second-order intuitionistic propositional logic, P2, can be represented ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Abstract. The second-order 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 second-order 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 first-order 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 Girard-Reynolds 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 second-order intuitionistic predicate logic, P2, can be represented in F2. Reynolds additionally proved an Abstraction Theorem: every term in F2 satisfi ..."
Abstract
-
Cited by 4 (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 second-order 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 well-behaved 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.
Cause and Effect: Type Systems for Effects and Dependencies
, 2005
"... Formal framework for reasoning about programs are important not only for automated tools but also for programmers. Type systems have proven an enormously popular framework for validating static analyses of programs, as well as for documenting their interfaces for programmers. However, most type syst ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Formal framework for reasoning about programs are important not only for automated tools but also for programmers. Type systems have proven an enormously popular framework for validating static analyses of programs, as well as for documenting their interfaces for programmers. However, most type systems used in practice today fail to capture many essential aspect of p behavior dependencie of programs The considerabl c i pas twenty years int developing that captu e information I pape examin compa contrast connec mbe o highly influentia p ototy ica system capturing dependencies Specifically w classi e typ system a onceive fo l canonical example o pendenc system system information-flow di moda systems c (co)monadi e fec dependenc discipline linear system p e- easonin abou state esou Finally als esen calculus provide insight possibili fo a unified account for all of these systems.

