X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=topics%2Fweek13_coroutines_exceptions_and_aborts.mdwn;h=706050edeb0d9253967c608fc481e32f9d43c14b;hp=f0ddc61dd9672eaf556f3e64aa295f7143a315da;hb=2e0ea1ad1187d391cf3bb50c08bddf00fbeada7b;hpb=e36eaae1de25d2ba2b42afe2f77f51f6a2470a7b diff --git a/topics/week13_coroutines_exceptions_and_aborts.mdwn b/topics/week13_coroutines_exceptions_and_aborts.mdwn index f0ddc61d..706050ed 100644 --- a/topics/week13_coroutines_exceptions_and_aborts.mdwn +++ b/topics/week13_coroutines_exceptions_and_aborts.mdwn @@ -425,9 +425,7 @@ There are also different kinds of "syntactic sugar" we can use to hide the conti (+ (foo 1) 1000)) -And in OCaml: - -
+
+
 
 Various of the tools we've been introducing over the past weeks are inter-related. We saw coroutines implemented first with zippers; here we've talked in the abstract about their being implemented with continuations. Oleg says that "Zipper can be viewed as a delimited continuation reified as a data structure." Ken expresses the same idea in terms of a zipper being a "defunctionalized" continuation---that is, take something implemented as a function (a continuation) and implement the same thing as an inert data structure (a zipper).