From: jim Date: Fri, 1 May 2015 11:27:00 +0000 (-0400) Subject: wording X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=d1ff66adacf38688cc416dd4147f0e27b0ce6254 wording --- diff --git a/topics/week13_coroutines_exceptions_and_aborts.mdwn b/topics/week13_coroutines_exceptions_and_aborts.mdwn index c8caa0d3..df9c1343 100644 --- a/topics/week13_coroutines_exceptions_and_aborts.mdwn +++ b/topics/week13_coroutines_exceptions_and_aborts.mdwn @@ -388,7 +388,7 @@ This inversion of who is the argument and who is the function receiving the argu 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" continuations when we transformed this: +When working with continuations, it's easiest in the beginning to write them out explicitly, the way that we explicitly wrote out the "snapshot" continuations when we transformed this: let foo x = +---try begin----------------+