Results 1  10
of
34
Computational LambdaCalculus and Monads
, 1988
"... The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the ..."
Abstract

Cited by 441 (6 self)
 Add to MetaCart
The calculus is considered an useful mathematical tool in the study of programming languages, since programs can be identified with terms. However, if one goes further and uses fijconversion to prove equivalence of programs, then a gross simplification 1 is introduced, that may jeopardise the applicability of theoretical results to real situations. In this paper we introduce a new calculus based on a categorical semantics for computations. This calculus provides a correct basis for proving equivalence of programs, independent from any specific computational model. 1 Introduction This paper is about logics for reasoning about programs, in particular for proving equivalence of programs. Following a consolidated tradition in theoretical computer science we identify programs with the closed terms, possibly containing extra constants, corresponding to some features of the programming language under consideration. There are three approaches to proving equivalence of programs: ffl T...
Categorical Models for Local Names
 LISP AND SYMBOLIC COMPUTATION
, 1996
"... This paper describes the construction of categorical models for the nucalculus, a language that combines higherorder functions with dynamically created names. Names are created with local scope, they can be compared with each other and passed around through function application, but that is all. T ..."
Abstract

Cited by 39 (2 self)
 Add to MetaCart
This paper describes the construction of categorical models for the nucalculus, a language that combines higherorder functions with dynamically created names. Names are created with local scope, they can be compared with each other and passed around through function application, but that is all. The intent behind this language is to examine one aspect of the imperative character of Standard ML: the use of local state by dynamic creation of references. The nucalculus is equivalent to a certain fragment of ML, omitting side effects, exceptions, datatypes and recursion. Even without all these features, the interaction of name creation with higherorder functions can be complex and subtle; it is particularly difficult to characterise the observable behaviour of expressions. Categorical monads, in the style of Moggi, are used to build denotational models for the nucalculus. An intermediate stage is the use of a computational metalanguage, which distinguishes in the type system between values and computations. The general requirements for a categorical model are presented, and two specific examples described in detail. These provide a sound denotational semantics for the nucalculus, and can be used to reason about observable equivalence in the language. In particular a model using logical relations is fully abstract for firstorder expressions.
Combining effects: sum and tensor
"... We seek a unified account of modularity for computational effects. We begin by reformulating Moggi’s monadic paradigm for modelling computational effects using the notion of enriched Lawvere theory, together with its relationship with strong monads; this emphasises the importance of the operations ..."
Abstract

Cited by 30 (4 self)
 Add to MetaCart
We seek a unified account of modularity for computational effects. We begin by reformulating Moggi’s monadic paradigm for modelling computational effects using the notion of enriched Lawvere theory, together with its relationship with strong monads; this emphasises the importance of the operations that produce the effects. Effects qua theories are then combined by appropriate bifunctors on the category of theories. We give a theory for the sum of computational effects, which in particular yields Moggi’s exceptions monad transformer and an interactive input/output monad transformer. We further give a theory of the commutative combination of effects, their tensor, which yields Moggi’s sideeffects monad transformer. Finally we give a theory of operation transformers, for redefining operations when adding new effects; we derive explicit forms for the operation transformers associated to the above monad transformers.
A dialecticalike model of linear logic
 In Proc. Conf. on Category Theory and Computer Science, LNCS 389
, 1989
"... The aim of this work is to define the categories GC, describe their categorical structure and show they are a model of Linear Logic. The second goal is to relate those categories to the Dialectica categories DC, cf.[DCJ, using different functors for the exponential “of course”. It is hoped that this ..."
Abstract

Cited by 27 (6 self)
 Add to MetaCart
The aim of this work is to define the categories GC, describe their categorical structure and show they are a model of Linear Logic. The second goal is to relate those categories to the Dialectica categories DC, cf.[DCJ, using different functors for the exponential “of course”. It is hoped that this categorical model of Linear Logic should help us to get a better understanding of the logic, which is, perhaps, the first nonintuitionistic constructive logic. This work is divided in two parts, each one with 3 sections. The first section shows that GC is a monoidal closed category and describes bifunctors for tensor “0”, internal horn “[—, —]“, par “u”, cartesian products “& “ and coproducts “s”. The second section defines linear negation as a contravariant functor obtained evaluating the internal horn bifunctor at a “dualising object”. The third section makes explicit the connections with Linear Logic, while the fourth introduces the comonads used to model the connective “of course”. Section 5 discusses some properties of these cornonads and finally section 6 makes the logical connections once more. This work grew out of suggestions of J.Y. Girard at the AMSConference on Categories, Logic and Computer Science in Boulder 1987, where I presented my earlier work on the Dialectica categories, hence the title. Still on the lines of given credit where it is due, I would like to say that Martin Hyland, under whose supervision this work was written, has been a continuous source of ideas and inspiration. Many heartfelt thanks to him. 1. The main definitions We start with a finitely complete category C. Then to describe GC say that its objects are relations on objects of C, that is monics A ~ U x X, which we usually write as (U ~ X). Given two such objects, (U ~ X) and (V L Y), which we call simply A and B, a morphism from A to B consists of a pair of maps in C, f: U — * V and F 4 Y —+ X, such that a pullback condition is satisfied, namely that where (~~)_1 represents puilbacks. (U x F) 1 (o~) ~ (f x Y) 1 (/3), (1) 342 Using diagrams, we say (f,F) is a morphism in GC if there is a (unique) map in ~, k: A ’ —~B ’ making the triangle commute: a~I Ia
Categorical Logic of Names and Abstraction in Action Calculi
, 1993
"... ion elimination Definition 3.1. A monoidal category where every object has a commutative comonoid structure is said to be semicartesian. An action category is a K\Omega category with a distinguished admissible commutative comonoid structure on every object. A semicartesian category is cartesi ..."
Abstract

Cited by 21 (9 self)
 Add to MetaCart
ion elimination Definition 3.1. A monoidal category where every object has a commutative comonoid structure is said to be semicartesian. An action category is a K\Omega category with a distinguished admissible commutative comonoid structure on every object. A semicartesian category is cartesian if and only if each object carries a unique comonoid structure, and such structures form two natural families, \Delta and !. The naturality means that all morphisms of the category must be comonoid homomorphisms. In action categories, the property of semicartesianness is fixed as structure: on each object, a particular comonoid structure is chosen. This choice may be constrained by some given graphic operations, with respect to which the structures must be admissible. The proof of proposition 2.6 shows that such structures determine the abstraction operators, and are determined by them. This is the essence of the equivalence of action categories and action calculi. As the embodiment of 2...
A Uniform Approach to Domain Theory in Realizability Models
 Mathematical Structures in Computer Science
, 1996
"... this paper we provide a uniform approach to modelling them in categories of modest sets. To do this, we identify appropriate structure for doing "domain theory" in such "realizability models". In Sections 2 and 3 we introduce PCAs and define the associated "realizability" categories of assemblies an ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
this paper we provide a uniform approach to modelling them in categories of modest sets. To do this, we identify appropriate structure for doing "domain theory" in such "realizability models". In Sections 2 and 3 we introduce PCAs and define the associated "realizability" categories of assemblies and modest sets. Next, in Section 4, we prepare for our development of domain theory with an analysis of nontermination. Previous approaches have used (relatively complicated) categorical formulations of partial maps for this purpose. Instead, motivated by the idea that A provides a primitive programming language, we consider a simple notion of "diverging" computation within A itself. This leads to a theory of divergences from which a notion of (computable) partial function is derived together with a lift monad classifying partial functions. The next task is to isolate a subcategory of modest sets with sufficient structure for supporting analogues of the usual domaintheoretic constructions. First, we expect to be able to interpret the standard constructions of total type theory in this category, so it should inherit cartesianclosure, coproducts and the natural numbers from modest sets. Second, it should interact well with the notion of partiality, so it should be closed under application of the lift functor. Third, it should allow the recursive definition of partial functions. This is achieved by obtaining a fixpoint object in the category, as defined in (Crole and Pitts 1992). Finally, although there is in principle no definitive list of requirements on such a category, one would like it to support more complicated constructions such as those required to interpret polymorphic and recursive types. The central part of the paper (Sections 5, 6, 7 and 9) is devoted to establish...
An Extension of Models of Axiomatic Domain Theory to Models of Synthetic Domain Theory
 In Proceedings of CSL 96
, 1997
"... . We relate certain models of Axiomatic Domain Theory (ADT) and Synthetic Domain Theory (SDT). On the one hand, we introduce a class of nonelementary models of SDT and show that the domains in them yield models of ADT. On the other hand, for each model of ADT in a wide class we construct a model of ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
. We relate certain models of Axiomatic Domain Theory (ADT) and Synthetic Domain Theory (SDT). On the one hand, we introduce a class of nonelementary models of SDT and show that the domains in them yield models of ADT. On the other hand, for each model of ADT in a wide class we construct a model of SDT such that the domains in it provide a model of ADT which conservatively extends the original model. Introduction The aim of Axiomatic Domain Theory (ADT) is to axiomatise the structure needed on a category so that its objects can be considered to be domains (see [11, x Axiomatic Domain Theory]). Models of axiomatic domain theory are given with respect to an enrichment base provided by a model of intuitionistic linear type theory [2, 3]. These enrichment structures consist of a monoidal adjunction C \Gamma! ? /\Gamma D between a cartesian closed category C and a symmetric monoidal closed category with finite products D, as well as with an !inductive fixedpoint object (Definition 1...
Generic trace semantics via coinduction
 Logical Methods in Comp. Sci
, 2007
"... Abstract. Trace semantics has been defined for various kinds of statebased systems, notably with different forms of branching such as nondeterminism vs. probability. In this paper we claim to identify one underlying mathematical structure behind these “trace ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
Abstract. Trace semantics has been defined for various kinds of statebased systems, notably with different forms of branching such as nondeterminism vs. probability. In this paper we claim to identify one underlying mathematical structure behind these “trace
Closed categories generated by commutative monads
 J. Austral. Math. Soc
, 1971
"... The notion of commutative monad was denned by the author in [4]. The ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
The notion of commutative monad was denned by the author in [4]. The
The Structure of CallbyValue
, 2000
"... To my parents Understanding procedure calls is crucial in computer science and everyday programming. Among the most common strategies for passing procedure arguments (‘evaluation strategies’) are ‘callbyname’, ‘callbyneed’, and ‘callbyvalue’, where the latter is the most commonly used. While ..."
Abstract

Cited by 12 (3 self)
 Add to MetaCart
To my parents Understanding procedure calls is crucial in computer science and everyday programming. Among the most common strategies for passing procedure arguments (‘evaluation strategies’) are ‘callbyname’, ‘callbyneed’, and ‘callbyvalue’, where the latter is the most commonly used. While reasoning about procedure calls is simple for callbyname, problems arise for callbyneed and callbyvalue, because it matters how often and in which order the arguments of a procedure are evaluated. We shall classify these problems and see that all of them occur for callbyvalue, some occur for callbyneed, and none occur for callbyname. In that sense, callbyvalue is the ‘greatest common denominator ’ of the three evaluation strategies. Reasoning about callbyvalue programs has been tackled by Eugenio Moggi’s ‘computational lambdacalculus’, which is based on a distinction between ‘values’