Higher-Order and Symbolic Computation

, Volume 15, Issue 2, pp 181–208

Linear Continuation-Passing

  • Josh Berdine
  • Peter O'Hearn
  • Uday Reddy
  • Hayo Thielecke
Article

DOI: 10.1023/A:1020891112409

Cite this article as:
Berdine, J., O'Hearn, P., Reddy, U. et al. Higher-Order and Symbolic Computation (2002) 15: 181. doi:10.1023/A:1020891112409

Abstract

Continuations can be used to explain a wide variety of control behaviours, including calling/returning (procedures), raising/handling (exceptions), labelled jumping (goto statements), process switching (coroutines), and backtracking. However, continuations are often manipulated in a highly stylised way, and we show that all of these, bar backtracking, in fact use their continuations linearly; this is formalised by taking a target language for CPS transforms that has both intuitionistic and linear function types.

continuationscontinuation-passing stylelinear typingcall/ccexceptionsgotocoroutines

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Josh Berdine
    • 1
  • Peter O'Hearn
    • 1
  • Uday Reddy
    • 2
  • Hayo Thielecke
    • 2
  1. 1.Department of Computer Science, Queen MaryUniversity of LondonLondonUnited Kingdom
  2. 2.School of Computer ScienceThe University of BirminghamBirminghamUnited Kingdom