Home Articles FAQs XREF Games Software Instant Books BBS About FOLDOC RFCs Feedback Sitemap


You are here: irt.org | FOLDOC | call-with-current-continuation

<programming> (call/cc) A Lisp control function that implements the continuation passing style of programming.

In continuation passing style (CPS), every function f takes an extra final argument k called the "continuation". The continuation is itself a function and represents the rest of the program. Instead of just returning a value in the normal way, f passes it as an argument to k and returns the result of that.

call/cc takes a function f as its argument and calls f, passing it the current continuation k. It thus allows a CPS function to be called in a non-CPS (direct) context.

For example, if the final result is to print the value returned by call/cc then anything passed to k will also be printed.

E.g, in Scheme:

 (define (f k)
	 (k 1)
	 (k 2)

 (display (call-with-current-continuation f))

Will display 1.

[Is this correct?]


Nearby terms: Call-Level Interface « Call Unix « Callware « call-with-current-continuation » CALS » Caltech Intermediate Form » CAM

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL

©2018 Martin Webb