Results 1 
8 of
8
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
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.
Polarity and the Logic of Delimited Continuations
"... Abstract—Polarized logic is the logic of values and continuations, and their interaction through continuationpassing style. The main limitations of this logic are the limitations of CPS: that continuations cannot be composed, and that programs are fully sequentialized. Delimited control operators w ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract—Polarized logic is the logic of values and continuations, and their interaction through continuationpassing style. The main limitations of this logic are the limitations of CPS: that continuations cannot be composed, and that programs are fully sequentialized. Delimited control operators were invented in response to the limitations of classical continuationpassing. That suggests the question: what is the logic of delimited continuations? We offer a simple account of delimited control, through a natural generalization of the classical notion of polarity. This amounts to breaking the perfect symmetry between positive and negative polarity in the following way: answer types are positive. Despite this asymmetry, we retain all of the classical polarized connectives, and can explain “intuitionistic polarity ” (e.g., in systems like CBPV) as a restriction on the use of connectives, i.e., as a logical fragment. Our analysis complements and generalizes existing accounts of delimited control operators, while giving us a rich logical language through which to understand the interaction of control with monadic effects. I.
Theory for Software Verification
, 2009
"... Semantic models are the basis for specification and verification of software. Operational, denotational, and axiomatic or algebraic methods offer complementary insights and reasoning techniques which are surveyed here. Unifying theories are needed to link models. Also considered are selected program ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Semantic models are the basis for specification and verification of software. Operational, denotational, and axiomatic or algebraic methods offer complementary insights and reasoning techniques which are surveyed here. Unifying theories are needed to link models. Also considered are selected programming features for which new models are needed.
DISTRIBUTIVE LAWS IN PROGRAMMING STRUCTURES
, 2009
"... Generalised Distributive laws in Computer Science are rules governing the transformation of one programming structure into another. In programming, they are programs satisfying certain formal conditions. Their importance has been to date documented in several isolated cases by diverse formal approac ..."
Abstract
 Add to MetaCart
Generalised Distributive laws in Computer Science are rules governing the transformation of one programming structure into another. In programming, they are programs satisfying certain formal conditions. Their importance has been to date documented in several isolated cases by diverse formal approaches. These applications have always meant leaps in understanding the nature of the subject. However, distributive laws have not yet been given the attention they deserve. One of the reasons for this omission is certainly the lack of a formal notion of distributive laws in their full generality. This hinders the discovery and formal description of occurrences of distributive laws, which is the precursor of any formal manipulation. In this thesis, an approach to formalisation of distributive laws is presented based on the functorial approach to formal Category Theory pioneered by Lawvere and others, notably Gray. The proposed formalism discloses a rather simple nature of distributive laws of the kind found in programming structures based on lax 2naturality and Gray’s tensor product of 2categories. It generalises the existing more specific notions of distributive
HoareStyle Reasoning with (Algebraic) Continuations
"... Continuations are programming abstractions that allow for manipulating the “future ” of a computation. Amongst their many applications, they enable implementing unstructured program flow through higherorder control operators such as callcc. In this paper we develop a Hoarestyle logic for the verif ..."
Abstract
 Add to MetaCart
Continuations are programming abstractions that allow for manipulating the “future ” of a computation. Amongst their many applications, they enable implementing unstructured program flow through higherorder control operators such as callcc. In this paper we develop a Hoarestyle logic for the verification of programs with higherorder control, in the presence of dynamic state. This is done by designing a dependent type theory with first class callcc and abort operators, where pre and postconditions of programs are tracked through types. Our operators are algebraic in the sense of Plotkin and Power, and Jaskelioff, to reduce the annotation burden and enable verification by symbolic evaluation. We illustrate working with the logic by verifying a number of characteristic examples. 1.
Author manuscript, published in "Logic in Computer Science (LICS), Edinburgh: United Kingdom (2010)" Segal condition meets computational effects
, 2012
"... described by an algebraic theory whose nary operations are the elements of the free algebra Tn generated by n letters. This canonical presentation of the monad (called its Lawvere theory) offers a precious guideline in the search for an intuitive presentation of the monad by generators and relation ..."
Abstract
 Add to MetaCart
described by an algebraic theory whose nary operations are the elements of the free algebra Tn generated by n letters. This canonical presentation of the monad (called its Lawvere theory) offers a precious guideline in the search for an intuitive presentation of the monad by generators and relations. Hence, much work has been devoted to extend this correspondence between monads and theories to situations of semantic interest, like enriched categories and countable monads. In this paper, we clarify the conceptual nature of these extended Lawvere theories by investigating the changeofbase mechanisms which underlie them. Our starting point is the Segal condition recently established by Weber for a general notion of monad with arities. Our first step is to establish the Segal condition a second time, by reducing it to the Linton condition which characterizes the algebras of a monad as particular presheaves