rename topics/week13_control_operators.mdwn to topics/week13_native_continuation_oper...
[lambda.git] / topics / week13_coroutines_exceptions_and_aborts.mdwn
index f0ddc61..cd26a3a 100644 (file)
@@ -255,7 +255,7 @@ A more general way to think about these snapshots is to think of the code we're
             else abort 20
             ) + 100
         end
-    in (foo 2) + 1;; (* this line is new *)
+    in (foo 2) + 1000;; (* this line is new *)
 
 we can imagine a box:
 
@@ -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:
-
-<pre>
+<!--
 # #require "delimcc";;
 # open Delimcc;;
 # let reset body = let p = new_prompt () in push_prompt p (body p);;
@@ -456,7 +454,8 @@ And in OCaml:
 - : int = 1020
 # test_shift 2;;
 - : int = 1020
-</pre>
+-->
+
 
 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).