You are a little behind. The sequels, of any taste, have nothing to do with goto (jumping). However, they have everything related to the stack.
Classical sequels
Remember that regular continuations capture the concept of a management stack as first-class values. Stacks can be named, passed as arguments, and values can be applied to them, leading to a change in the control flow, with a simple API based on a function application via callCC .
Limited Account Assignments
What adds separation extensions to the mix?
Recall that regular continuations capture the entire call stack to a certain point. What if we could put markers in this to say exactly what part of the control stack we need to keep in continuation? This is a kind of "demarcation" of the management stack.
This is an idea, and now you have super-cool delimited sequels: delimit, capture and manipulate arbitrary parts of the program as a value. Ideal for renewal and incremental processing, as well as for other complex flow control methods.
References
Notes
Some corrections from Oleg Kiselev , got off-list:
- Continuations and jumps are deeply connected, the first discoveries of continuations were in the context of an attempt to understand the semantics of jumps or move on. For this purpose, the operator Landin
J was introduced; J is the precursor to the / cc call. See Landins Introduction to Jumps and Shortcuts Summary - Further reading of unsupported, “regular” continuations in “Undelimited continuations are co-values, not functions,” and their basics.
source share