First-class stores and partial continuations in a programming language and environment

  • Authors:
  • Gregory F Johnson;Dominic Duggan

  • Affiliations:
  • Department of Computer Science, University of Maryland, College Park, Maryland, U.S.A.;Department of Computer Science, University of Maryland, College Park, Maryland, U.S.A.

  • Venue:
  • Computer Languages
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the GL programming language and its debugger, it is possible at essentially any point during program execution to capture the entire data state (the extant store) or the control state (the sequence of pending function invocations, represented using a new construct called partial continuations). These artifacts of program execution can be bound to identifiers or placed in storage cells and subsequently manipulated either from within the executing program or interactively from the debugging environment. The captured data states and control states can be interactively examined, reasoned about and experimentally executed. This paper describes the design of a language and debugging environment that supports these two capabilities, with particular attention given to the implications of having them both in the same language. For the new features to be useful they must be efficient, and a description is given of the techniques that were used to achieve an acceptable level of efficiency.