Results 1  10
of
52
Towards a Mathematical Operational Semantics
 In Proc. 12 th LICS Conf
, 1997
"... We present a categorical theory of `wellbehaved' operational semantics which aims at complementing the established theory of domains and denotational semantics to form a coherent whole. It is shown that, if the operational rules of a programming language can be modelled as a natural transformation ..."
Abstract

Cited by 134 (9 self)
 Add to MetaCart
We present a categorical theory of `wellbehaved' operational semantics which aims at complementing the established theory of domains and denotational semantics to form a coherent whole. It is shown that, if the operational rules of a programming language can be modelled as a natural transformation of a suitable general form, depending on functorial notions of syntax and behaviour, then one gets both an operational model and a canonical, internally fully abstract denotational model for free; moreover, both models satisfy the operational rules. The theory is based on distributive laws and bialgebras; it specialises to the known classes of wellbehaved rules for structural operational semantics, such as GSOS.
Semantic Lego
, 1995
"... Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features influence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Follo ..."
Abstract

Cited by 35 (0 self)
 Add to MetaCart
Denotational semantics [Sch86] is a powerful framework for describing programming languages; however, its descriptions lack modularity: conceptually independent language features influence each others' semantics. We address this problem by presenting a theory of modular denotational semantics. Following Mosses [Mos92], we divide a semantics into two parts, a computation ADT and a language ADT (abstract data type). The computation ADT represents the basic semantic structure of the language. The language ADT represents the actual language constructs, as described by a grammar. We define the language ADT using the computation ADT; in fact, language constructs are polymorphic over many different computation ADTs. Following Moggi [Mog89a], we build the computation ADT from composable parts, using monads and monad transformers. These techniques allow us to build many different computation ADTs, and, since our language constructs are polymorphic, many different language semantics. We autom...
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
Computational Comonads and Intensional Semantics
, 1991
"... We explore some foundational issues in the development of a theory of intensional semantics. A programming language may be given a variety of semantics, differing in the level of abstraction; one generally chooses the semantics at an abstraction level appropriate for reasoning about a particular kin ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
We explore some foundational issues in the development of a theory of intensional semantics. A programming language may be given a variety of semantics, differing in the level of abstraction; one generally chooses the semantics at an abstraction level appropriate for reasoning about a particular kind of program property. Extensional semantics are typically appropriate for proving properties such as partial correctness, but an intensional semantics at a lower abstraction level is required in order to reason about computation strategy and thereby support reasoning about intensional aspects of behavior such as order of evaluation and efficiency. It is obviously desirable to be able to establish sensible relationships between two semantics for the same language, and we seek a general categorytheoretic framework that permits this. Beginning with an "extensional" category, whose morphisms we can think of as functions of some kind, we model a notion of computation as a comonad with certain e...
Distributive laws and Koszulness
 Zbl 0853.18005 MR 1393517
, 1996
"... The basic motivation for our work was the following result of Getzler and Jones [5]. Let Cn = {Cn(m); m ≥ 1} be the famous little ncubes operad of Boardman and Vogt [10, Definition 4.1] and let en = {en(m); m ≥ 1} be its homology operad, en(m): = H(Cn(m)). Then the operad en is Koszul in the sense ..."
Abstract

Cited by 26 (1 self)
 Add to MetaCart
The basic motivation for our work was the following result of Getzler and Jones [5]. Let Cn = {Cn(m); m ≥ 1} be the famous little ncubes operad of Boardman and Vogt [10, Definition 4.1] and let en = {en(m); m ≥ 1} be its homology operad, en(m): = H(Cn(m)). Then the operad en is Koszul in the sense of [6].
Recursion Schemes from Comonads
, 2001
"... . Within the setting of the categorical approach to programming with total functions, a \manyinone" recursion scheme is introduced that neatly unies a variety of recursion schemes looking as diverging generalizations of the basic recursion scheme of iteration. The scheme is doubly generic: in addi ..."
Abstract

Cited by 21 (4 self)
 Add to MetaCart
. Within the setting of the categorical approach to programming with total functions, a \manyinone" recursion scheme is introduced that neatly unies a variety of recursion schemes looking as diverging generalizations of the basic recursion scheme of iteration. The scheme is doubly generic: in addition to behaving uniformly with respect to a functor determining an inductive type, it is also uniform in a comonad and a distributive law which together determine a particular recursion scheme for this inductive type. By way of examples, it is shown to subsume iteration, a scheme subsuming primitive recursion, and a scheme subsuming courseofvalue iteration.
The essence of the Iterator pattern
 McBride, Conor, & Uustalu, Tarmo (eds), Mathematicallystructured functional programming
, 2006
"... The ITERATOR pattern gives a clean interface for elementbyelement access to a collection. Imperative iterations using the pattern have two simultaneous aspects: mapping and accumulating. Various existing functional iterations model one or other of these, but not both simultaneously. We argue that ..."
Abstract

Cited by 17 (8 self)
 Add to MetaCart
The ITERATOR pattern gives a clean interface for elementbyelement access to a collection. Imperative iterations using the pattern have two simultaneous aspects: mapping and accumulating. Various existing functional iterations model one or other of these, but not both simultaneously. We argue that McBride and Paterson’s idioms, and in particular the corresponding traverse operator, do exactly this, and therefore capture the essence of the ITERATOR pattern. We present some axioms for traversal, and illustrate with a simple example, the repmin problem.
Boundedness And Complete Distributivity
 IV, Appl. Categ. Structures
"... . We extend the concept of constructive complete distributivity so as to make it applicable to ordered sets admitting merely bounded suprema. The KZdoctrine for bounded suprema is of some independent interest and a few results about it are given. The 2category of ordered sets admitting bounded ..."
Abstract

Cited by 16 (7 self)
 Add to MetaCart
. We extend the concept of constructive complete distributivity so as to make it applicable to ordered sets admitting merely bounded suprema. The KZdoctrine for bounded suprema is of some independent interest and a few results about it are given. The 2category of ordered sets admitting bounded suprema over which nonempty infima distribute is shown to be biequivalent to a 2category defined in terms of idempotent relations. As a corollary we obtain a simple construction of the nonnegative reals. 1. Introduction 1.1. The main theorem of [RW1] exhibited a biequivalence between the 2category of (constructively) completely distributive lattices and suppreserving arrows, and the idempotent splitting completion of the 2category of relations  relative to any base topos. Somewhat in passing in [RW1], it was pointed out that this biequivalence provides a simple construction of the closed unit interval ([0; 1]; ), namely as the ordered set of downsets for the idempotent relat...
A Coalgebraic Foundation for Linear Time Semantics
 In Category Theory and Computer Science
, 1999
"... We present a coalgebraic approach to trace equivalence semantics based on lifting behaviour endofunctors for deterministic action to Kleisli categories of monads for nondeterministic choice. In Set , this gives a category with ordinary transition systems as objects and with morphisms characterised ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
We present a coalgebraic approach to trace equivalence semantics based on lifting behaviour endofunctors for deterministic action to Kleisli categories of monads for nondeterministic choice. In Set , this gives a category with ordinary transition systems as objects and with morphisms characterised in terms of a linear notion of bisimulation. The final object in this category is the canonical abstract model for trace equivalence and can be obtained by extending the final coalgebra of the deterministic action behaviour to the Kleisli category of the nonempty powerset monad. The corresponding final coalgebra semantics is fully abstract with respect to trace equivalence.
A Basic Distributive Law
 JOURNAL OF PURE AND APPLIED ALGEBRA
, 2002
"... We pursue distributive laws between monads, particularly in the context of KZdoctrines, and show that a very basic distributive law has (constructively) completely distributive lattices for its algebras. Moreover, the resulting monad is shown to be also the double dualization monad (with respect ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
We pursue distributive laws between monads, particularly in the context of KZdoctrines, and show that a very basic distributive law has (constructively) completely distributive lattices for its algebras. Moreover, the resulting monad is shown to be also the double dualization monad (with respect to the subobject classifier) on ordered sets.