Results 1  10
of
24
Modular structural operational semantics
, 2004
"... Modular SOS (MSOS) is a variant of conventional Structural Operational Semantics (SOS). Using MSOS, the transition rules for each construct of a programming language can be given incrementally, once and for all, and do not need reformulation when further constructs are added to the language. MSOS th ..."
Abstract

Cited by 55 (4 self)
 Add to MetaCart
Modular SOS (MSOS) is a variant of conventional Structural Operational Semantics (SOS). Using MSOS, the transition rules for each construct of a programming language can be given incrementally, once and for all, and do not need reformulation when further constructs are added to the language. MSOS thus provides an exceptionally high degree of modularity in language descriptions, removing a shortcoming of the original SOS framework. After sketching the background and reviewing the main features of SOS, the paper explains the crucial differences between SOS and MSOS, and illustrates how MSOS descriptions are written. It also discusses standard notions of semantic equivalence based on MSOS. Appendix A shows how the illustrative MSOS rules given in the paper would be formulated in conventional SOS.
Notions of Computation Determine Monads
 Proc. FOSSACS 2002, Lecture Notes in Computer Science 2303
, 2002
"... We give semantics for notions of computation, also called computational effects, by means of operations and equations. We show that these generate several of the monads of primary interest that have been used to model computational effects, with the striking omission of the continuations monad, demo ..."
Abstract

Cited by 54 (7 self)
 Add to MetaCart
We give semantics for notions of computation, also called computational effects, by means of operations and equations. We show that these generate several of the monads of primary interest that have been used to model computational effects, with the striking omission of the continuations monad, demonstrating the latter to be of a different character, as is computationally true. We focus on semantics for global and local state, showing that taking operations and equations as primitive yields a mathematical relationship that reflects their computational relationship.
Algebraic Operations and Generic Effects
 Applied Categorical Structures
, 2003
"... Given a complete and cocomplete symmetric monoidal closed category V and a symmetric monoidal Vcategory C with cotensors and a strong Vmonad T on C, we investigate axioms under which an ObCindexed family of operations of the form α_x : (Tx)^ν → (Tx)^ω provides semantics for al ..."
Abstract

Cited by 32 (7 self)
 Add to MetaCart
Given a complete and cocomplete symmetric monoidal closed category V and a symmetric monoidal Vcategory C with cotensors and a strong Vmonad T on C, we investigate axioms under which an ObCindexed family of operations of the form α_x : (Tx)^ν → (Tx)^ω provides semantics for algebraic operations on the computational λcalculus. We recall a definition for which we have elsewhere given adequacy results, and we show that an enrichment of it is equivalent to a range of other possible natural definitions of algebraic operation. In particular, we define the notion of generic effect and show that to give a generic effect is equivalent to giving an algebraic operation. We further show how the usual monadic semantics of the computational λcalculus extends uniformly to incorporate generic effects. We outline examples and nonexamples and we show that our definition also enriches one for callbyname languages with e#ects.
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 29 (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.
Computational Effects and Operations: An Overview
, 2004
"... We overview a programme to provide a unified semantics for computational effects based upon the notion of a countable enriched Lawvere theory. We define the notion of countable enriched Lawvere theory, show how the various leading examples of computational effects, except for continuations, give ris ..."
Abstract

Cited by 26 (8 self)
 Add to MetaCart
We overview a programme to provide a unified semantics for computational effects based upon the notion of a countable enriched Lawvere theory. We define the notion of countable enriched Lawvere theory, show how the various leading examples of computational effects, except for continuations, give rise to them, and we compare the definition with that of a strong monad. We outline how one may use the notion to model three natural ways in which to combine computational effects: by their sum, by their commutative combination, and by distributivity. We also outline a unified account of operational semantics. We present results we have already shown, some partial results, and our plans for further development of the programme.
Combining Computational Effects: Commutativity and Sum
, 2002
"... We begin to develop a unified account of modularity for computational effects. We use the notion of enriched Lawvere theory, together with its relationship with strong monads, to reformulate Moggi's paradigm for modelling computational effects; we emphasise the importance here of the operations that ..."
Abstract

Cited by 19 (4 self)
 Add to MetaCart
We begin to develop a unified account of modularity for computational effects. We use the notion of enriched Lawvere theory, together with its relationship with strong monads, to reformulate Moggi's paradigm for modelling computational effects; we emphasise the importance here of the operations that induce computational effects. Effects qua theories are then combined by appropriate bifunctors (on the category of theories). We give a theory of the commutative combination of effects, which in particular yields Moggi's sideeffects monad transformer (an application is the combination of sideeffects with nondeterminism). And we give a theory...
Handlers of Algebraic Effects
"... Abstract. We present an algebraic treatment of exception handlers and, more generally, introduce handlers for other computational effects representable by an algebraic theory. These include nondeterminism, interactive input/output, concurrency, state, time, and their combinations; in all cases the c ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
Abstract. We present an algebraic treatment of exception handlers and, more generally, introduce handlers for other computational effects representable by an algebraic theory. These include nondeterminism, interactive input/output, concurrency, state, time, and their combinations; in all cases the computation monad is the freemodel monad of the theory. Each such handler corresponds to a model of the theory for the effects at hand. The handling construct, which applies a handler to a computation, is based on the one introduced by Benton and Kennedy, and is interpreted using the homomorphism induced by the universal property of the free model. This general construct can be used to describe previously unrelated concepts from both theory and practice. 1
The Category Theoretic Understanding of Universal Algebra: Lawvere Theories and Monads
, 2007
"... Lawvere theories and monads have been the two main category theoretic formulations of universal algebra, Lawvere theories arising in 1963 and the connection with monads being established a few years later. Monads, although mathematically the less direct and less malleable formulation, rapidly gained ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Lawvere theories and monads have been the two main category theoretic formulations of universal algebra, Lawvere theories arising in 1963 and the connection with monads being established a few years later. Monads, although mathematically the less direct and less malleable formulation, rapidly gained precedence. A generation later, the definition of monad began to appear extensively in theoretical computer science in order to model computational effects, without reference to universal algebra. But since then, the relevance of universal algebra to computational effects has been recognised, leading to renewed prominence of the notion of Lawvere theory, now in a computational setting. This development has formed a major part of Gordon Plotkin’s mature work, and we study its history here, in particular asking why Lawvere theories were eclipsed by monads in the 1960’s, and how the renewed interest in them in a computer science setting might develop in future.
Countable Lawvere Theories and Computational Effects
, 2006
"... Lawvere theories have been one of the two main category theoretic formulations of universal algebra, the other being monads. Monads have appeared extensively over the past fifteen years in the theoretical computer science literature, specifically in connection with computational effects, but Lawvere ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
Lawvere theories have been one of the two main category theoretic formulations of universal algebra, the other being monads. Monads have appeared extensively over the past fifteen years in the theoretical computer science literature, specifically in connection with computational effects, but Lawvere theories have not. So we define the notion of (countable) Lawvere theory and give a precise statement of its relationship with the notion of monad on the category Set. We illustrate with examples arising from the study of computational effects, explaining how the notion of Lawvere theory keeps one closer to computational practice. We then describe constructions that one can make with Lawvere theories, notably sum, tensor, and distributive tensor, reflecting the ways in which the various computational effects are usually combined, thus giving denotational semantics for the combinations.
Semantics for Algebraic Operations
 Proc. MFPS 17, Electronic Notes in Thoeret. Comp. Sci
, 2001
"... Given a complete and cocomplete symmetric monoidal closed category V and a symmetric monoidal V category C with cotensors and a strong V monad T on C, we investigate axioms under which an ObC indexed family of operations of the form #x : (Tx) v # (Tx) w provides semantics for algebraic ope ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
Given a complete and cocomplete symmetric monoidal closed category V and a symmetric monoidal V category C with cotensors and a strong V monad T on C, we investigate axioms under which an ObC indexed family of operations of the form #x : (Tx) v # (Tx) w provides semantics for algebraic operations, which may be used to extend the usual monadic semantics of the computational #calculus uniformly. We recall a definition for which we have elsewhere given adequacy results, and we show that an enrichment of it is equivalent to a range of other possible natural definitions of algebraic operation. We outline examples and nonexamples and we show that our definition also enriches one for callbyname languages with e#ects. 1