TY - JOUR

T1 - Combining algebraic effects with continuations

AU - Hyland, Martin

AU - Levy, Paul Blain

AU - Plotkin, Gordon

AU - Power, Anthony

PY - 2007/5/1

Y1 - 2007/5/1

N2 - We consider the natural combinations of algebraic computational effects such as side-effects, exceptions, interactive input/output, and nondeterminism with continuations. Continuations are not an algebraic effect, but previously developed combinations of algebraic effects given by sum and tensor extend, with effort, to include commonly used combinations of the various algebraic effects with continuations. Continuations also give rise to a third sort of combination, that given by applying the continuations monad transformer to an algebraic effect. We investigate the extent to which sum and tensor extend from algebraic effects to arbitrary monads, and the extent to which Felleisen et al.’s C operator extends from continuations to its combination with algebraic effects. To do all this, we use Dubuc’s characterisation of strong monads in terms of enriched large Lawvere theories.

AB - We consider the natural combinations of algebraic computational effects such as side-effects, exceptions, interactive input/output, and nondeterminism with continuations. Continuations are not an algebraic effect, but previously developed combinations of algebraic effects given by sum and tensor extend, with effort, to include commonly used combinations of the various algebraic effects with continuations. Continuations also give rise to a third sort of combination, that given by applying the continuations monad transformer to an algebraic effect. We investigate the extent to which sum and tensor extend from algebraic effects to arbitrary monads, and the extent to which Felleisen et al.’s C operator extends from continuations to its combination with algebraic effects. To do all this, we use Dubuc’s characterisation of strong monads in terms of enriched large Lawvere theories.

UR - http://dx.doi.org/10.1016/j.tcs.2006.12.026

U2 - 10.1016/j.tcs.2006.12.026

DO - 10.1016/j.tcs.2006.12.026

M3 - Article

SN - 0304-3975

VL - 375

SP - 20

EP - 40

JO - Theoretical Computer Science

JF - Theoretical Computer Science

IS - 1-3

ER -