post links to state monad tutorial
[lambda.git] / assignment9.mdwn
index 20a8968..13cf8fd 100644 (file)
@@ -62,7 +62,7 @@ Two strategies for solving the problem
     does: compute the tree-to-list transformation for a tree with two
     leaves, performing all beta reduction by hand using the
     definitions for bind\_continuation, unit\_continuation and so on.
-    If you take this route, study the description of streams (a
+    If you take this route, study the description of **streams** (a
     particular kind of data structure) below.  The goal will be to
     arrange for the continuation-flavored tree_monadizer to transform
     a tree into a stream instead of into a list.  Once you've done
@@ -118,14 +118,14 @@ val make_int_stream : int -> int stream = [fun]
 val int_stream : int stream = Next (1, [fun])         (* First element: 1 *)
 
 # let tail = match int_stream with Next (i, rest) -> rest;;      
-val tail : unit -> int stream = <fun>                      (* Tail: a thunk *)
+val tail : unit -> int stream = [fun]                 (* Tail: a thunk *)
 
 (* Force the thunk to compute the second element *)
 # tail ();;
-- : int stream = Next (2, [fun])                     (* Second element: 2 *)
+- : int stream = Next (2, [fun])                      (* Second element: 2 *)
 
 # match tail () with Next (_, rest) -> rest ();;
-- : int stream = Next (3, <fun>)                          (* Third element: 3 *)
+- : int stream = Next (3, [fun])                      (* Third element: 3 *)
 </pre>
 
 You can think of `int_stream` as a functional object that provides