Results 1  10
of
22
Relational Properties of Domains
 Information and Computation
, 1996
"... New tools are presented for reasoning about properties of recursively defined domains. We work within a general, categorytheoretic framework for various notions of `relation' on domains and for actions of domain constructors on relations. Freyd's analysis of recursive types in terms of a property o ..."
Abstract

Cited by 99 (5 self)
 Add to MetaCart
New tools are presented for reasoning about properties of recursively defined domains. We work within a general, categorytheoretic framework for various notions of `relation' on domains and for actions of domain constructors on relations. Freyd's analysis of recursive types in terms of a property of mixed initiality/finality is transferred to a corresponding property of invariant relations. The existence of invariant relations is proved under completeness assumptions about the notion of relation. We show how this leads to simpler proofs of the computational adequacy of denotational semantics for functional programming languages with userdeclared datatypes. We show how the initiality/finality property of invariant relations can be specialized to yield an induction principle for admissible subsets of recursively defined domains, generalizing the principle of structural induction for inductively defined sets. We also show how the initiality /finality property gives rise to the coinduct...
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.
A New Characterization of Lambda Definability
, 1993
"... . We give a new characterization of lambda definability in Henkin models using logical relations defined over ordered sets with varying arity. The advantage of this over earlier approaches by Plotkin and Statman is its simplicity and universality. Yet, decidability of lambda definability for heredit ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
. We give a new characterization of lambda definability in Henkin models using logical relations defined over ordered sets with varying arity. The advantage of this over earlier approaches by Plotkin and Statman is its simplicity and universality. Yet, decidability of lambda definability for hereditarily finite Henkin models remains an open problem. But if the variable set allowed in terms is also restricted to be finite then our techniques lead to a decision procedure. 1 Introduction An applicative structure consists of a family (A oe ) oe2T of sets, one for each type oe, together with a family (app oe;ø ) oe;ø 2T of application functions, where app oe;ø maps A oe!ø \Theta A oe into A ø . For an applicative structure to be a model of the simply typed lambda calculus (in which case we call it a Henkin model, following [4]), one requires two more conditions to hold. It must be extensional which means that the elements of A oe!ø are uniquely determined by their behavior under app oe;ø...
A Relational Approach to Strictness Analysis for HigherOrder Polymorphic Functions
 In Proc. ACM Symposium on Principles of Programming Languages
, 1991
"... This paper defines the categorical notions of relators and transformations and shows that these concepts enable us to give a semantics for polymorphic, higher order functional programs. We demonstrate the pertinence of this semantics to the analysis of polymorphic programs by proving that strictness ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
This paper defines the categorical notions of relators and transformations and shows that these concepts enable us to give a semantics for polymorphic, higher order functional programs. We demonstrate the pertinence of this semantics to the analysis of polymorphic programs by proving that strictness analysis is a polymorphic invariant. 1 Introduction Recently, there has been some effort to construe the semantics of polymorphic functional programming languages using the categorical notion of a natural transformation. The idea can be sketched as follows: we have a "universe of computational discourse" given by some category (in practice, a suitable category of domains). Types are objects of . Type constructions (e.g. product, function space) are functors (of appropriate arity) over . Monomorphic functional programs are morphisms of ; polymorphic programs are natural transformations. E.g. append : 8t: t ? \Theta t ? ! t ? append : (\Delta) ? \Theta (\Delta) ? : ! (\Delta) ? w...
Semantics of an effect analysis for exceptions
 In 3rd ACMSIGPLAN Workshop on Types in Language Design and Implementation (TLDI
, 2007
"... We give a semantics to a polymorphic effect analysis that tracks possiblythrown exceptions and possible nontermination for a higherorder language. The semantics is defined using partial equivalence relations over a standard monadic, domaintheoretic model of the original language and establishes ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
We give a semantics to a polymorphic effect analysis that tracks possiblythrown exceptions and possible nontermination for a higherorder language. The semantics is defined using partial equivalence relations over a standard monadic, domaintheoretic model of the original language and establishes the correctness of both the analysis itself and of the contextual program transformations that it enables.
Formalizing and verifying semantic type soundness for a simple compiler
, 2007
"... We describe a semantic type soundness result, formalized in the Coq proof assistant, for a compiler from a simple imperative language with heapallocated data into an idealized assembly language. Types in the highlevel language are interpreted as binary relations, built using both secondorder quan ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
We describe a semantic type soundness result, formalized in the Coq proof assistant, for a compiler from a simple imperative language with heapallocated data into an idealized assembly language. Types in the highlevel language are interpreted as binary relations, built using both secondorder quantification and a form of separation structure, over stores and code pointers in the lowlevel machine.
Categorical Completeness Results for the SimplyTyped LambdaCalculus
 Proceedings of TLCA '95, Springer LNCS 902
, 1995
"... . We investigate, in a categorical setting, some completeness properties of betaeta conversion between closed terms of the simplytyped lambda calculus. A cartesianclosed category is said to be complete if, for any two unconvertible terms, there is some interpretation of the calculus in the catego ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
. We investigate, in a categorical setting, some completeness properties of betaeta conversion between closed terms of the simplytyped lambda calculus. A cartesianclosed category is said to be complete if, for any two unconvertible terms, there is some interpretation of the calculus in the category that distinguishes them. It is said to have a complete interpretation if there is some interpretation that equates only interconvertible terms. We give simple necessary and sufficient conditions on the category for each of the two forms of completeness to hold. The classic completeness results of, e.g., Friedman and Plotkin are immediate consequences. As another application, we derive a syntactic theorem of Statman characterizing betaeta conversion as a maximum consistent congruence relation satisfying a property known as typical ambiguity. 1 Introduction In 1970 Friedman proved that betaeta conversion is complete for deriving all equalities between the (simplytyped) lambdadefinable...
State based encapsulation and generics
, 2004
"... A properly encapsulated data representation can be revised without affecting the correctness of client programs and extensions but encapsulation is difficult to achieve for heap based structures and objectoriented (OO) programs with reentrant callbacks. Building on a discipline that uses assertion ..."
Abstract

Cited by 7 (7 self)
 Add to MetaCart
A properly encapsulated data representation can be revised without affecting the correctness of client programs and extensions but encapsulation is difficult to achieve for heap based structures and objectoriented (OO) programs with reentrant callbacks. Building on a discipline that uses assertions and auxiliary fields to manage invariants and transferrable ownership, we give a rule for modular reasoning based on simulations. This representation independence result is proved for a sequential OO language with recursive, generic classes.
Assertionbased encapsulation, object invariants and simulations
 In FMCO postproceedings
, 2005
"... Abstract. In objectoriented programming, reentrant method invocations and shared references make it difficult to achieve adequate encapsulation for sound modular reasoning. This tutorial paper surveys recent progress using auxiliary state (ghost fields) to describe and achieve encapsulation. Encaps ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Abstract. In objectoriented programming, reentrant method invocations and shared references make it difficult to achieve adequate encapsulation for sound modular reasoning. This tutorial paper surveys recent progress using auxiliary state (ghost fields) to describe and achieve encapsulation. Encapsulation is assessed in terms of modular reasoning about invariants and simulations. 1