Many programmers outside of the hard-core functional-programming world now see the value of “continuations” as a programming-language construct. In particular, first-class continuations can simplify the implementation of services that are accessed through a web browser.
As it turns out, “delimited continuations” are an even better fit for such applications. Unfortunately, even languages that directly support continuations have not provided good support for delimited continuations. PLT Scheme is now the exception, providing direct support that meshes with existing language constructs, such as exception handling and dynamic binding.
To describe PLT Scheme’s design for delimited continuations, this talk starts with a graphical intuition for computation and continuations. The graphical notation makes clear why delimited continuations are useful, and it lets us explain precisely—without resorting to technical notation—how delimited continuations interact with other control constructs in Scheme.