Josh Berdine, Peter O'Hearn, Uday Reddy, Hayo Thielecke
2012 Higher-Order and Symbolic Computation  
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
more » ... r function types. * This is an extended and revised version of a paper ( c
doi:10.1023/a:1020891112409 fatcat:qnacygxbcfhtxijr4xfi2wuz64