Back to Direct Style II: First-Class Continuations

Authors

  • Olivier Danvy
  • Julia L. Lawall

DOI:

https://doi.org/10.7146/brics.v3i20.19982

Abstract

The direct-style transformation aims at mapping continuation-passing programs back to direct style, be they originally written in continuation-passing style or the result of the continuation-passing-style transformation. In this paper, we continue to investigate the direct-style transformation by extending it to programs with first-class continuations.

First-class continuations break the stack-like discipline of continuations in that they are sent results out of turn. We detect them syntactically through an analysis of continuation-passing terms. We conservatively extend the direct-style transformation towards call-by-value functional terms (the pure lambda-calculus) by translating the declaration of a first-class continuation using the control operator call/cc, and by translating an occurrence of a first-class continuation using the control operator throw. We prove that our extension and the corresponding
extended continuation-passing-style transformation are inverses.

Downloads

Published

1996-01-20

How to Cite

Danvy, O., & Lawall, J. L. (1996). Back to Direct Style II: First-Class Continuations. BRICS Report Series, 3(20). https://doi.org/10.7146/brics.v3i20.19982