Continuation Passing Style


Continuation Passing Style

(1)(CPS) A semantically clean language with continuations used asan intermediate language for Scheme and the SML/NJcompiler.

["Rabbit: A Compiler for Scheme", G.L. Steele, AI-TR-474, MIT(May 1978)].

["Compiling With Continuations", A. Appel, Cambridge U Press1992].

continuation passing style

(programming)(CPS) A style of programming in which every userfunction f takes an extra argument c known as a continuation.Whenever f would normally return a result r to its caller, itinstead returns the result of applying the continuation to r.The continuation thus represents the whole of the rest of thecomputation. 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 )