• Corpus ID: 18874987

c ○ 1994 Kluwer Academic Publishers – Manufactured in The Netherlands

  title={c ○ 1994 Kluwer Academic Publishers – Manufactured in The Netherlands},
  author={Robert Hieb and R. Kent Dybvig},
Continuations have proven to be useful for implementing a variety of control structures, including exception handling facilities and breadth-first searching algorithms. However, traditional continuations are not useful in the presence of concurrency, because the notion of the rest of the computation represented by a continuation does not in general make sense. Traditional continuations can also be difficult to use in nonconcurrent settings, since their global nature is sometimes problematic… 



Continuations and concurrency

A new type of continuation is presented, called a process continuation, that may be used to control tree-structured concurrency and allows nonlocal exits to arbitrary points in the process tree and the capture of a subtree of a computation as a composable continuation for later use.

Implementation strategies for continuations

It is reported that Danvy's conjecture that continuation captures occur in clusters is somewhat true in the commercial setting of MacScheme+Toolsmith™, which provides tools for developing Macintosh user interfaces in Scheme and that other strategies perform better when continuations are used.

Representing control in the presence of first-class continuations

A new approach based on stack allocation that does not require the stack to be copied when a continuation is created and that allows us to place a small upper bound on the amount copied whenA continuation is reinstated is described.

Embedding continuations in procedural objects

This work considers techniques for constraining the power of continuations in the interest of security and efficiency, and presents two mechanisms, wind-unwind and dynamic-wind, that generalize unwind-protect.

Abstract continuations: a mathematical semantics for handling full jumps

This work introduces an abstract domain of rests of computations with appropriate operations for continuation semantics in modern Lisp-style languages, which contain advanced control structures like full functional jumps and control delimiters for which continuation semantics is insufficient.

Continuing into the future: on the interaction of futures and first-class continuations

This work makes futures and continuations interact properly through a simple, yet important, change to the implementation of the future construct, which causes a second problem to manifest itself: the creation of extraneous computation threads.

MULTILISP: a language for concurrent symbolic computation

A recommended Multilisp programming style is presented which, if followed, should lead to highly parallel, easily understandable programs.

Abstracting Timed Preemption with Engines

Engines From Continuations

A dynamic extent control operator for partial continuations

This paper proposes a new operator which precisely controls which prefix is to be abstracted into a partial continuation and is strongly related to the notion of dynamic extent which it denotationally characterize.