
A Dynamic Continuation-Passing Style for Dynamic Delimited Continuations
Author(s) -
Dariusz Biernacki,
Olivier Danvy,
Kevin Millikin
Publication year - 2005
Publication title -
brics report series
Language(s) - English
Resource type - Journals
eISSN - 1601-5355
pISSN - 0909-0878
DOI - 10.7146/brics.v12i16.21882
Subject(s) - continuation , computer science , correctness , monad (category theory) , programming language , abstract machine , state (computer science) , computation , style (visual arts) , mathematics , discrete mathematics , history , archaeology , functor
We present a new abstract machine that accounts for dynamic delimited continuations. We prove the correctness of this new abstract machine with respect to a pre-existing, definitional abstract machine. Unlike this definitional abstract machine, the new abstract machine is in defunctionalized form, which makes it possible to state the corresponding higher-order evaluator. This evaluator is in continuation+state passing style and threads a trail of delimited continuations and a meta-continuation. Since this style accounts for dynamic delimited continuations, we refer to it as `dynamic continuation-passing style.' We show that the new machine operates more efficiently than the definitional one and that the notion of computation induced by the corresponding evaluator takes the form of a monad. We also present new examples and a new simulation of dynamic delimited continuations in terms of static ones.