Results 1  10
of
15
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 ..."
Abstract

Cited by 33 (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 &alpha;_x : (Tx)^&nu; &rarr; (Tx)^&omega; provides semantics for algebraic operations on the computational &lambda;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 &lambda;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
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.
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
Semantics for Local Computational Effects
, 2006
"... Starting with Moggi’s work on monads as refined to Lawvere theories, we give a general construct that extends denotational semantics for a global computational effect canonically to yield denotational semantics for a corresponding local computational effect. Our leading example yields a construction ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Starting with Moggi’s work on monads as refined to Lawvere theories, we give a general construct that extends denotational semantics for a global computational effect canonically to yield denotational semantics for a corresponding local computational effect. Our leading example yields a construction of the usual denotational semantics for local state from that for global state. Given any Lawvere theory L, possibly countable and possibly enriched, we first give a universal construction that extends L, hence the global operations and equations of a given effect, to incorporate worlds of arbitrary finite size. Then, making delicate use of the final comodel of the ordinary Lawvere theory L, we give a construct that uniformly allows us to model block, the universality of the final comodel yielding a universal property of the construct. We illustrate both the universal extension of L and the canonical construction of block by seeing how they work in the case of state.
Focalizing Linear Logic in Itself
, 2008
"... We sketch a simple, syntactic, and modular proof of the correctness of focusing for linear logic via an interpretation back into linear logic itself. The proof proceeds first by showing prooftheoretic versions of some elementary facts that hold of any pair of adjoint functors, and then specializing ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We sketch a simple, syntactic, and modular proof of the correctness of focusing for linear logic via an interpretation back into linear logic itself. The proof proceeds first by showing prooftheoretic versions of some elementary facts that hold of any pair of adjoint functors, and then specializing to an adjunction that embodies focusing discipline. 1
Formal Definitions and Theory—Type Systems
"... 1999)) have been around for nearly four decades. They are particularly popular today for use as intermediate languages (e.g. CIL (ECMA 2002), JVML (Lindholm and Yellin 1999), (Morrisett et al. 1998)). This is for several reasons: they have good runtime performance characteristics, they resemble the ..."
Abstract
 Add to MetaCart
1999)) have been around for nearly four decades. They are particularly popular today for use as intermediate languages (e.g. CIL (ECMA 2002), JVML (Lindholm and Yellin 1999), (Morrisett et al. 1998)). This is for several reasons: they have good runtime performance characteristics, they resemble the machine level instructions on many computers, they are easy to implement, and they have compact representations. In these stackbased languages instructions are not firstclass values. The Joy programming language (von Thun 2001) and the Factor programming language (Pestov 2003) are examples of functional stackbased languages: they allow instructions to be treated as data and placed on the stack. These languages however are lacking a static type system. This paper aims to bridge the gap between statically typed imperative stackbased languages and untyped functional stackbased languages by defining a typesystem for a pointfree functional stackbased language.
Formal Definitions and Theory—Type Systems
"... 1999)) have been around for nearly four decades. They are particularly popular today for use as intermediate languages (e.g. CIL (ECMA 2002), JVML (Lindholm and Yellin 1999), (Morrisett et al. 1998)). This is for several reasons: they have good runtime performance characteristics, they resemble the ..."
Abstract
 Add to MetaCart
1999)) have been around for nearly four decades. They are particularly popular today for use as intermediate languages (e.g. CIL (ECMA 2002), JVML (Lindholm and Yellin 1999), (Morrisett et al. 1998)). This is for several reasons: they have good runtime performance characteristics, they resemble the machine level instructions on many computers, they are easy to implement, and they have compact representations. In these stackbased languages instructions are not firstclass values. The Joy programming language (von Thun 2001) and the Factor programming language (Pestov 2003) are examples of functional stackbased languages: they allow instructions to be treated as data and placed on the stack. These languages however are lacking a static type system. This paper aims to bridge the gap between statically typed imperative stackbased languages and untyped functional stackbased languages by defining a typesystem for a pointfree functional stackbased language.