Comparing Control Constructs by Double-barrelled CPS
user correction - Legacy Corrections
SVM HeaderParse 0.1
School of Computer Science, University of Birmingham, Birmingham B15 2TT,; United Kingdom
SVM HeaderParse 0.2
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 di#erent control operators: first-class continuations; dynamic control; and (depending on a further choice of a variable) either the 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.