Results 1 
6 of
6
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
Realizability semantics of parametric polymorphism, general references, and recursive types
, 2010
"... Abstract. We present a realizability model for a callbyvalue, higherorder programming language with parametric polymorphism, general firstclass references, and recursive types. The main novelty is a relational interpretation of open types (as needed for parametricity reasoning) that include gener ..."
Abstract

Cited by 19 (12 self)
 Add to MetaCart
Abstract. We present a realizability model for a callbyvalue, higherorder programming language with parametric polymorphism, general firstclass references, and recursive types. The main novelty is a relational interpretation of open types (as needed for parametricity reasoning) that include general reference types. The interpretation uses a new approach to modeling references. The universe of semantic types consists of worldindexed families of logical relations over a universal predomain. In order to model general reference types, worlds are finite maps from locations to semantic types: this introduces a circularity between semantic types and worlds that precludes a direct definition of either. Our solution is to solve a recursive equation in an appropriate category of metric spaces. In effect, types are interpreted using a Kripke logical relation over a recursively defined set of worlds. We illustrate how the model can be used to prove simple equivalences between different implementations of imperative abstract data types. 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
Monads in Action
"... In functional programming, monadic characterizations of computational effects are normally understood denotationally: they describe how an effectful program can be systematically expanded or translated into a larger, pure program, which can then be evaluated according to an effectfree semantics. An ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
In functional programming, monadic characterizations of computational effects are normally understood denotationally: they describe how an effectful program can be systematically expanded or translated into a larger, pure program, which can then be evaluated according to an effectfree semantics. Any effectspecific operations expressible in the monad are also given purely functional definitions, but these definitions are only directly executable in the context of an already translated program. This approach thus takes an inherently Churchstyle view of effects: the nominal meaning of every effectful term in the program depends crucially on its type. We present here a complementary, operational view of monadic effects, in which an effect definition directly induces an imperative behavior of the new operations expressible in the monad. This behavior is formalized as additional operational rules for only the new constructs; it does not require any structural changes to the evaluation judgment. Specifically, we give a smallstep operational semantics of a prototypical functional language supporting programmerdefinable, layered effects, and show how this semantics naturally supports reasoning by familiar syntactic techniques, such as showing soundness of a Currystyle effecttype system by the progress+preservation method.
Realisability semantics of parametric polymorphism, general references
, 2009
"... and recursive types ..."