(CPS) A semantically clean language with continuations used as an intermediate language for Scheme and the SML/NJ compiler.
["Rabbit: A Compiler for Scheme", G.L. Steele, AI-TR-474, MIT (May 1978)].
["Compiling With Continuations", A. Appel, Cambridge U Press 1992].
(CPS) A style of programming in which every user function f takes an extra argument c known as a continuation. Whenever f would normally return a result r to its caller, it instead returns the result of applying the continuation to r. The continuation thus represents the whole of the rest of the computation. Some examples:
normal (direct style) --> continuation passing
square x = x * x square x k = k (x*x)
g (square 23) square 23 g
(square 3) + 1 square 3 ( \ s . s+1 )