Higher-Order and Symbolic Computation

, Volume 12, Issue 1, pp 7–45

Implementation Strategies for First-Class Continuations

Authors

  • William D. Clinger
    • College of Computer ScienceNortheastern University
  • Anne H. Hartheimer
  • Eric M. Ost
Open AccessArticle

DOI: 10.1023/A:1010016816429

Cite this article as:
Clinger, W.D., Hartheimer, A.H. & Ost, E.M. Higher-Order and Symbolic Computation (1999) 12: 7. doi:10.1023/A:1010016816429

Abstract

Scheme and Smalltalk continuations may have unlimited extent. This means that a purely stack-based implementation of continuations, as suffices for most languages, is inadequate. We review several implementation strategies for continuations and compare their performance using instruction counts for the normal case and continuation-intensive synthetic benchmarks for other scenarios, including coroutines and multitasking. All of the strategies constrain a compiler in some way, resulting in indirect costs that are hard to measure directly. We use related measurements on a set of benchmarks to calculate upper bounds for these indirect costs.

continuations stacks heap allocation coroutines multitasking Scheme Smalltalk

Copyright information

© Kluwer Academic Publishers 1999