X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=damn.mdwn;h=ad6877528976c79ede34ee1cd1d6c1d182e9e330;hp=9896c58d4028abda153ce6ab327ef94265150ac9;hb=0c35110d36a99c4b1708f73ca2edcddca1ca3f66;hpb=a2031a2dda504d0f5d34a658c49a8c8be5cc9799 diff --git a/damn.mdwn b/damn.mdwn index 9896c58d..ad687752 100644 --- a/damn.mdwn +++ b/damn.mdwn @@ -270,7 +270,7 @@ The idea here is we capture the continuation that `(damn)` has when it gets eval However, this doesn't work. The reason is that an undelimited continuation represents the future of the evaluation of `(damn)` *until the end of the computation*. So when `'id` is supplied to `k`, we go back to building the at-issue tree until we're finished *and that's the end of the computation*. We never get to go back and evaluate the application of `(cons (cons 'side-effect 'bad) <>)` to anything. -With undelimited continuations +With delimited continuations ------------------------------ The straightforward way to fix this is to use, not undelimited continuations, but instead a more powerful apparatus called "delimited continuations." These too will be explained in due course, don't expect to understand all this now.