ACM Home Page
Please provide us with feedback. Feedback
Implementation strategies for continuations
Full text PdfPdf (834 KB)
Source Conference on LISP and Functional Programming archive
Proceedings of the 1988 ACM conference on LISP and functional programming table of contents
Snowbird, Utah, United States
Pages: 124 - 131  
Year of Publication: 1988
ISBN:0-89791-273-X
Authors
Will Clinger  Semantic Microsystems, Inc, 4470 SW Hall, Suite 340, Beaverton, Oregon
Anne Hartheimer  Semantic Microsystems, Inc, 4470 SW Hall, Suite 340, Beaverton, Oregon
Eric Ost  Metaphor Corp, Bloomington, Indiana
Sponsors
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 10,   Downloads (12 Months): 46,   Citation Count: 23
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/62678.62692
What is a DOI?

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. Several implementation strategies have been described in the literature. Determining which is best requires knowledge of the kinds of programs that will commonly be run. Danvy, for example, has conjectured that continuation captures occur in clusters. That is, the same continuation, once captured, is likely to be captured again. As evidence, Danvy cited the use of continuations in a research setting. We report that Danvy's conjecture is somewhat true in the commercial setting of MacScheme+Toolsmith™, which provides tools for developing Macintosh user interfaces in Scheme. These include an interrupt-driven event system and multitasking, both implemented by liberal use of continuations. We describe several implementation strategies for continuations and compare four of them using benchmarks. We conclude that the most popular strategy may have a slight edge when continuations are not used at all, but that other strategies perform better when continuations are used and Danvy's conjecture holds.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

Bartley 86
Caudill 86
Danvy 87
Deutsch 84
 
Gabriel 85
 
Goldberg 83
Haynes 84
 
Holloway 80
Jack Holloway, Guy L Steele, Gerald Jay Sussman, and Alan Bell, "The SCHEME-79 Chip", MIT AI Laboratory, AI Memo 559, january 1980.
Kranz 86
 
Kranz 88
David Andrew Kranz, ORBIT: An Optimizing Compiler for Scheme, PhD thesis, Yale University, May 1988.
Miranda 87
Moss 87
Rees 86
Samples 86
 
Semantic 87
Semantic Microsystems, MacScheme~Toolsmith, August 1987.
Suzuki 84
 
Ungar 87
 
Wirfs-Brock 88
Allen Wirfs-Brock, personal communication, April 1988. Tektronix Smalltalk is described in {Caudill 86, which was not detailed enough for us to realize that Tektronix Smalltalk uses the stack/heap strategy rather than the stack strategy.

CITED BY  23

Collaborative Colleagues:
Will Clinger: colleagues
Anne Hartheimer: colleagues
Eric Ost: colleagues