Results 1 
7 of
7
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.
Adequacy for algebraic effects
 In 4th FoSSaCS
, 2001
"... We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to ..."
Abstract

Cited by 30 (16 self)
 Add to MetaCart
We present a logic for algebraic effects, based on the algebraic representation of computational effects by operations and equations. We begin with the acalculus, a minimal calculus which separates values, effects, and computations and thereby canonises the order of evaluation. This is extended to obtain the logic, which is a classical firstorder multisorted logic with higherorder value and computation types, as in Levy’s callbypushvalue, a principle of induction over computations, a free algebra principle, and predicate fixed points. This logic embraces Moggi’s computational λcalculus, and also, via definable modalities, HennessyMilner logic, and evaluation logic, though Hoare logic presents difficulties. 1
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’
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
Axiomatics for Data Refinement in Call By Value Programming Languages
"... We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We give a systematic category theoretic axiomatics for modelling data refinement in call by value programming languages. Our leading examples of call by value languages are extensions of the computational calculus, such as FPC and languages for modelling nondeterminism, and extensions of the first order fragment of the computational calculus, such as a CPS language. We give a category theoretic account of the basic setting, then show how to model contexts, then arbitrary type and term constructors, then signatures, and finally data refinement. This extends and clarifies Kinoshita and Power's work on lax logical relations for call by value languages.
BOOLEAN PRECONGRUENCES
"... Abstract. We investigate the possible ways of ordering terms of ground type in a nondeterministic (or deterministic) language that contains erroneous behaviours such as divergence, crash or deadlock. We see that the ordering at boolean type, called a “boolean precongruence”, is key: it determines th ..."
Abstract
 Add to MetaCart
Abstract. We investigate the possible ways of ordering terms of ground type in a nondeterministic (or deterministic) language that contains erroneous behaviours such as divergence, crash or deadlock. We see that the ordering at boolean type, called a “boolean precongruence”, is key: it determines the ordering at other ground types, and induces a contextual preorder. We examine the circumstances in which amb is monotone, and in which the ordering at Sierpinski type or even zero type suffices. Each boolean precongruence gives a way of lifting relations, leading to a powerposet construction. We obtain a notion of simulation, and give general conditions for when a