LISP and Symbolic Computation, 3(1)67-99

Control Delimiters and Their Hierarchies

Dorai Sitaram, Department of Computer Science, Rice University, Houston, TX 77251-1892
Matthias Felleisen, Department of Computer Science, Rice University, Houston, TX 77251-1892

Abstract: Since control operators for the unrestricted transfer of control are too powerful in many situations, we propose the control delimiter as a means for restricting control manipulations and study its use in Lisp- and Scheme-like languages. In a Common Lisp-like setting, the concept of delimiting control provides a well-suited terminology for explaining different control constructs. For higher-order languages like Scheme, the control delimiter is the means for embedding Lisp control constructs faithfully and for realizing high-level control abstractions elegantly. A deeper analysis of the examples suggests a need for an entire control hierarchy of such delimiters. We show how to implement such a hierarchy on top of the simple version of a control delimiter.

Keywords: Scheme, control structure, continuations, control delimiters, engines

This article is not available online.
[picture of journal cover]

March 2003 - hosc@brics.dk