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

Gregory F. Johnson, Dominic Duggan

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

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.

Original languageEnglish
Pages (from-to)53-68
Number of pages16
JournalComputer Languages
Volume20
Issue number1
DOIs
StatePublished - Mar 1994

Keywords

  • continuations
  • debugging
  • first-class continuations and stores
  • reflexive stores

Fingerprint

Dive into the research topics of 'First-class stores and partial continuations in a programming language and environment'. Together they form a unique fingerprint.

Cite this