Comparing Control Constructs by Double-Barrelled CPS

  • Authors:
  • Hayo Thielecke

  • Affiliations:
  • School of Computer Science, University of Birmingham, Birmingham B15 2TT, United Kingdom. h.thielecke@cs.bham.ac.uk

  • Venue:
  • Higher-Order and Symbolic Computation
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

We investigate call-by-value continuation-passing style transforms that pass two continuations. Altering a single variable in the translation of λ-abstraction gives rise to different control operators: first-class continuations; dynamic control; and (depending on a further choice of a variable) either the \tt return statement of C; or Landin's J-operator. In each case there is an associated simple typing. For those constructs that allow upward continuations, the typing is classical, for the others it remains intuitionistic, giving a clean distinction independent of syntactic details. Moreover, those constructs that make the typing classical in the source of the CPS transform break the linearity of continuation use in the target.