## User login## Navigation |
## How to remove a dynamic prompt: static and dynamic delimited continuation operators are equally expressible
The report (by Oleg Kiselyov) shows that shift, control, shift0, etc. delimited
continuation operators are macro-expressible in terms of each
other. The report thus confirms the result first established by
Chung-chieh Shan in Shift to Control. 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.
The report uses a more uniform method and it formally proves that 'control' implemented via 'shift' indeed has its standard reduction semantics. It is common knowledge that first-class continuations are quite tricky -- and delimited continuations are trickier still. Therefore, a formal proof is a necessity. On the practical side, the report shows the simplest known Scheme implementations of control, shift0 and control0 (similar to `cupto'). The method in the report lets us design 700 more delimited control operators, which compose stack fragments in arbitrary ways. I love this sort of thing, and since section 4 includes Scheme code, you can try to skip the theory if you find it intimidating. I know this stuff can look a bit hairy. If there's interest, I hope Oleg would agree to help people new to this sort of material in understanding sections 2 and 3. But you have to ask nicely... |
## Browse archives## Active forum topics |

## Recent comments

9 hours 40 min ago

15 hours 35 min ago

17 hours 31 min ago

1 day 3 hours ago

2 days 23 hours ago

4 days 6 hours ago

4 days 6 hours ago

6 days 3 hours ago

6 days 15 hours ago

1 week 2 days ago