Constraining control

  • Authors:
  • Daniel P. Friedman;Christopher T. Haynes

  • Affiliations:
  • Computer Science Department, Indiana University, Lindley Hall 101, Bloomington, IN;Computer Science Department, Indiana University, Lindley Hall 101, Bloomington, IN

  • Venue:
  • POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

Continuations, when available as first-class objects, provide a general control abstraction in programming languages. They liberate the programmer from specific control structures, increasing programming language extensibility. Such continuations may be extended by embedding them in functional objects. This technique is first used to restore a fluid environment when a continuation object is invoked. We then consider techniques for constraining the power of continuations in the interest of security and efficiency. Domain mechanisms, which create dynamic barriers for enclosing control, are implemented using fluids. Domains are then used to implement an unwind-protect facility in the presence of first-class continuations. Finally, we demonstrate two mechanisms, wind-unwind and dynamic-wind, that generalize unwind-protect.