X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=coroutines_and_aborts.mdwn;h=4b2b5da41f2fa321b3aa55de3b5a96917ed79f1c;hp=7c9762cc091bad22b3c1be0c0df66c6f0972bbda;hb=9a23d7fc448e48268a7b60ce9ff3e55222cd833a;hpb=874ce383f04f95ec6801fd588bed38f845fb05fd diff --git a/coroutines_and_aborts.mdwn b/coroutines_and_aborts.mdwn index 7c9762cc..4b2b5da4 100644 --- a/coroutines_and_aborts.mdwn +++ b/coroutines_and_aborts.mdwn @@ -576,7 +576,7 @@ If all the subject did then was supply an `e` to the `e -> t` it receives as an This inversion of who is the argument and who is the function receiving the argument is paradigmatic of working with continuations. -Continuations come in many varieties. There are **undelimited continuations**, expressed in Scheme via `(call/cc (lambda (k) ...))` or the shorthand `(let/cc k ...)`. (`call/cc` is itself shorthand for `call-with-current-continuation`.) These capture "the entire rest of the computation." There are also **delimited continuations**, expressed in Scheme via `(reset ... (shift k ...) ...)` or `(prompt ... (control k ...) ...)` or any of several other operations. There are subtle differences between those that we won't be exploring in the seminar. Ken Shan has done amazing work exploring the relations of these operations to each other. +Continuations come in many varieties. There are **undelimited continuations**, expressed in Scheme via `(call/cc (lambda (k) ...))` or the shorthand `(let/cc k ...)`. (`call/cc` is itself shorthand for `call-with-current-continuation`.) These capture "the entire rest of the computation." There are also **delimited continuations**, expressed in Scheme via `(reset ... (shift k ...) ...)` or `(prompt ... (control k ...) ...)` or any of several other operations. There are subtle differences between those that we won't be exploring in the seminar. Ken Shan has done terrific work exploring the relations of these operations to each other. When working with continuations, it's easiest in the first place to write them out explicitly, the way that we explicitly wrote out the `snapshot` continuation when we transformed this: