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 -