How to Remove a Dynamic Prompt: Static and Dynamic Delimited Continuation Operators Are Equally Expressible

dc.contributor.authorKiselyov, Oleg
dc.date.accessioned2025-11-12T20:44:48Z
dc.date.available2025-11-12T20:44:48Z
dc.date.issued2005-03
dc.description.abstractWe show how to remove a dynamic prompt (aka reset) and thus to turn so-called static delimited continuation operators (shift/reset) into dynamic ones: control, control0, shift0. Our technique extends the continuation captured by shift by composing it with the previous fragments of the `stack'. Composition of context fragments can be done via regular functional composition. We thus demonstrate that all the above delimited continuation operators are macro-expressible in terms of each other --- without capturing undelimited continuations and without using mutable state. Furthermore, the operators shift, control, control0, shift0 are the members of a single parameterized family, and the standard CPS is sufficient to express their denotational semantics. We give the simplest Scheme implementation of the dynamic control operators. We give a formal simulation proof that control realized through shift indeed has its standard reduction semantics.
dc.identifier.urihttps://hdl.handle.net/2022/34459
dc.relation.ispartofseriesIndiana University Computer Science Technical Reports; TR611
dc.rightsThis work is protected by copyright unless stated otherwise.
dc.rights.uri
dc.titleHow to Remove a Dynamic Prompt: Static and Dynamic Delimited Continuation Operators Are Equally Expressible

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR611.pdf
Size:
124.98 KB
Format:
Adobe Portable Document Format
Can’t use the file because of accessibility barriers? Contact us