Results 1 
5 of
5
Operations on records
 Mathematical Structures in Computer Science
, 1991
"... We define a simple collection of operations for creating and manipulating record structures, where records are intended as finite associations of values to labels. A secondorder type system over these operations supports both subtyping and polymorphism. We provide typechecking algorithms and limite ..."
Abstract

Cited by 164 (14 self)
 Add to MetaCart
We define a simple collection of operations for creating and manipulating record structures, where records are intended as finite associations of values to labels. A secondorder type system over these operations supports both subtyping and polymorphism. We provide typechecking algorithms and limited semantic models. Our approach unifies and extends previous notions of records, bounded quantification, record extension, and parametrization by rowvariables. The general aim is to provide foundations for concepts found in objectoriented languages, within a framework based on typed lambdacalculus.
Formal Parametric Polymorphism
 THEORETICAL COMPUTER SCIENCE
, 1993
"... A polymorphic function is parametric if its behavior does not depend on the type at which it is instantiated. Starting with Reynolds's work, the study of parametricity is typically semantic. In this paper, we develop a syntactic approach to parametricity, and a formal system that embodies this ..."
Abstract

Cited by 140 (6 self)
 Add to MetaCart
A polymorphic function is parametric if its behavior does not depend on the type at which it is instantiated. Starting with Reynolds's work, the study of parametricity is typically semantic. In this paper, we develop a syntactic approach to parametricity, and a formal system that embodies this approach, called system R . Girard's system F deals with terms and types; R is an extension of F that deals also with relations between types. In R , it is possible to derive theorems about functions from their types, or "theorems for free", as Wadler calls them. An easy "theorem for free" asserts that the type "(X)XBool contains only constant functions; this is not provable in F. There are many harder and more substantial examples. Various metatheorems can also be obtained, such as a syntactic version of Reynolds's abstraction theorem.
A semantic basis for Quest
 JOURNAL OF FUNCTIONAL PROGRAMMING
, 1991
"... Quest is a programming language based on impredicative type quantifiers and subtyping within a threelevel structure of kinds, types and type operators, and values. The semantics of Quest is rather challenging. In particular, difficulties arise when we try to model simultaneously features such as c ..."
Abstract

Cited by 70 (13 self)
 Add to MetaCart
Quest is a programming language based on impredicative type quantifiers and subtyping within a threelevel structure of kinds, types and type operators, and values. The semantics of Quest is rather challenging. In particular, difficulties arise when we try to model simultaneously features such as contravariant function spaces, record types, subtyping, recursive types, and fixpoints. In this paper we describe in detail the type inference rules for Quest, and we give them meaning using a partial equivalence relation model of types. Subtyping is interpreted as in previous work by Bruce and Longo, but the interpretation of some aspects, namely subsumption, power kinds, and record subtyping, is novel. The latter is based on a new encoding of record types. We concentrate on modeling quantifiers and subtyping; recursion is the subject of current work.
Computability structures, simulations and realizability
, 2011
"... We generalize the standard construction of realizability models (specifically, of categories of assemblies) to a very wide class of computability structures, broad enough to embrace models of computation such as labelled transition systems and process algebras. We also discuss a general notion of si ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
We generalize the standard construction of realizability models (specifically, of categories of assemblies) to a very wide class of computability structures, broad enough to embrace models of computation such as labelled transition systems and process algebras. We also discuss a general notion of simulation between such computability structures, and show that such simulations correspond precisely to certain functors between the realizability models. Furthermore, we show that our class of computability structures has good closure properties — in particular, it is ‘cartesian closed ’ in a slightly relaxed sense. We also investigate some important subclasses of computability structures and of simulations between them. We suggest that our 2category of computability structures and simulations may offer a framework for a general investigation of questions of computational power, abstraction and simulability for a wide range of computation models from across computer science.
This is a preprint of a paper that has been submitted to Information and Computation. On Functors Expressible in the Polymorphic Typed Lambda Calculus
, 1991
"... Given a model of the polymorphic typed lambda calculus based upon a Cartesian closed category K, there will be functors from K to K whose action on objects can be expressed by type expressions and whose action on morphisms can be expressed by ordinary expressions. We show that if T is such a functor ..."
Abstract
 Add to MetaCart
(Show Context)
Given a model of the polymorphic typed lambda calculus based upon a Cartesian closed category K, there will be functors from K to K whose action on objects can be expressed by type expressions and whose action on morphisms can be expressed by ordinary expressions. We show that if T is such a functor then there is a weak initial Talgebra and if, in addition, K possesses equalizers of all subsets of its morphism sets, then there is an initial Talgebra. These results are used to establish the impossibility of certain models, including those in which types denote sets and S → S ′ denotes the set of all functions from S to S ′.