A Dynamic Continuation-Passing Style for Dynamic Delimited
Continuations
Dariusz Biernacki
May 2005 |
Abstract:
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 Available as PostScript, PDF, DVI. |