Continuation Passing Style


Also found in: Acronyms.

Continuation Passing Style

(1)
(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].

continuation passing style

(programming)
(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 )