December 2021
Beginner
840 pages
47h 29m
English
First-class continuations are ideal for programming abnormal flows of control (e.g., nonlocal exits) and, more generally, for control abstraction— implementing user-defined control abstractions.
The call/cc function captures the current continuation with a representation of the environment, including the run-time stack, at the time call/cc is invoked.
Unlike goto, continuation replacement in Scheme [i.e., (k v)] is not just a transfer of control, but also a restoration of the environment, including the run-time stack, at the time the continuation was captured.
First-class continuations are sufficient to create a variety of control abstractions, including any desired sequential control structure (Haynes, Friedman, and ...