Results 1 
5 of
5
Completeness for algebraic theories of local state
"... Abstract. Every algebraic theory gives rise to a monad, and monads allow a metalanguage which is a basic programming language with sideeffects. Equations in the algebraic theory give rise to equations between programs in the metalanguage. An interesting question is this: to what extent can we put ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract. Every algebraic theory gives rise to a monad, and monads allow a metalanguage which is a basic programming language with sideeffects. Equations in the algebraic theory give rise to equations between programs in the metalanguage. An interesting question is this: to what extent can we put equational reasoning for programs into the algebraic theory for the monad? In this paper I focus on local state, where programs can allocate, update and read the store. Plotkin and Power (FoSSaCS’02) have proposed an algebraic theory of local state, and they conjectured that the theory is complete, in the sense that every consistent equation is already derivable. The central contribution of this paper is to confirm this conjecture. To establish the completeness theorem, it is necessary to reformulate the informal theory of Plotkin and Power as an enriched algebraic theory in the sense of Kelly and Power (JPAA, 89:163–179). The new presentation can be read as 14 program assertions about three effects. The completeness theorem for local state is dependent on certain conditions on the type of storable values. When the set of storable values is finite, there is a subtle additional axiom regarding quotient types. 1
Semantics for computational effects: from global to local
, 2006
"... We give a general construct that extends denotational semantics for a global computational effect 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 ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We give a general construct that extends denotational semantics for a global computational effect 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, modelling a specific computational effect, 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 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 primarily for state but also for nondeterminism, timing, exceptions, and interactive I/O. Key words: computational effects, Lawvere theory, indexed Lawvere theory, model, monad, global state, local state.
Monoidal indeterminates and categories of possible worlds
 In Proc. of MFPS XXV
, 2009
"... Given any symmetric monoidal category C, a small symmetric monoidal category Σ and a strong monoidal functor j:Σ C, we construct C[x: jΣ], the polynomial category with a system of (freely adjoined) monoidal indeterminates x: I j(w), natural in w ∈ Σ. As a special case, we construct the free coaffin ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Given any symmetric monoidal category C, a small symmetric monoidal category Σ and a strong monoidal functor j:Σ C, we construct C[x: jΣ], the polynomial category with a system of (freely adjoined) monoidal indeterminates x: I j(w), natural in w ∈ Σ. As a special case, we construct the free coaffine category (symmetric monoidal category with initial unit) on a given small symmetric monoidal category. We then exhibit all the known categories of “possible worlds ” used to treat languages that allow for dynamic creation of “new ” variables, locations, or names as instances of this construction and explicate their associated universality properties. As an application of the resulting characterisation of O(W), Oles’s category of possible worlds, we present an O(W)indexed Lawvere theory of manysorted storage, generalizing the singlesorted one introduced by J. Power, and we describe explicitly an associated
Block structure vs scope extrusion: between innocence and omniscience
"... Abstract. We study the semantic meaning of block structure using game semantics and introduce the notion of blockinnocent strategies, which turns out to characterise callbyvalue computation with blockallocated storage through soundness, finitary definability and universality results. This puts u ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. We study the semantic meaning of block structure using game semantics and introduce the notion of blockinnocent strategies, which turns out to characterise callbyvalue computation with blockallocated storage through soundness, finitary definability and universality results. This puts us in a good position to conduct a comparative study of purely functional computation, computation with block storage and dynamic memory allocation respectively. For example, we show that dynamic variable allocation can be replaced with blockallocated variables exactly when the term involved (open or closed) is of base type and that blockallocated storage can be replaced with purely functional computation when types of order two are involved. To illustrate the restrictive nature of block structure further, we prove a decidability result for a finitary fragment of callbyvalue Idealized Algol for which it is known that allowing for dynamic memory allocation leads to undecidability. 1
MFPS 25 Preliminary Proceedings Two cotensors in one: Presentations of algebraic theories for local state and fresh names
"... Various situations in computer science call for categories that support both cartesian closed and monoidal closed structure. Such situations include (i) models of local state, where the monoidal product describes disjointness of memory, and (ii) treatment of fresh names, as required in models of the ..."
Abstract
 Add to MetaCart
Various situations in computer science call for categories that support both cartesian closed and monoidal closed structure. Such situations include (i) models of local state, where the monoidal product describes disjointness of memory, and (ii) treatment of fresh names, as required in models of the πcalculus. I propose a technique to embed the two closed structures into one single structure. To demonstrate the technique, I show how previously studied theories of local state and fresh names can be understood formally as presentations of (enriched) algebraic theories. 1