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 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 )
(1995-04-04)