Results 1 
3 of
3
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
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