Continuation Passing Style
["Compiling With Continuations", A. Appel, Cambridge U Press 1992].
continuation passing style
(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 style
square x = x * x square x k = k (x * x)
g (square 23) square 23 g
(square 3) + 1 square 3 ( \ s . s + 1 )