edits
authorChris Barker <barker@omega.(none)>
Mon, 6 Dec 2010 12:27:10 +0000 (07:27 -0500)
committerChris Barker <barker@omega.(none)>
Mon, 6 Dec 2010 12:27:10 +0000 (07:27 -0500)
manipulating_trees_with_monads.mdwn

index 2ec15d6..38f8ff3 100644 (file)
@@ -95,8 +95,6 @@ a Reader monad---is to have the `tree_map` function return a (monadized)
 tree that is ready to accept any `int -> int` function and produce the
 updated tree.
 
-\tree (. (. (f 2) (f 3)) (. (f 5) (. (f 7) (f 11))))
-
        \f      .
           _____|____
           |        |
@@ -267,8 +265,8 @@ it through:
        let rec tree_monadize_rev (f : 'a -> 'b state) (t : 'a tree) : 'b tree state =
            match t with
            | Leaf a -> state_bind (f a) (fun b -> state_unit (Leaf b))
-           | Node (l, r) -> state_bind (tree_monadize f r) (fun r' ->
-                              state_bind (tree_monadize f l) (fun l' ->
+           | Node (l, r) -> state_bind (tree_monadize f r) (fun r' ->     (* R first *)
+                              state_bind (tree_monadize f l) (fun l'->    (* Then L  *)
                                 state_unit (Node (l', r'))));;
 
         # tree_monadize_rev (fun a -> fun s -> (s+1, s+1)) t1 0;;
@@ -407,8 +405,6 @@ induction on the structure of the first argument that the tree
 resulting from `bind u f` is a tree with the same strucure as `u`,
 except that each leaf `a` has been replaced with `f a`:
 
-\tree (. (f a1) (. (. (. (f a2) (f a3)) (f a4)) (f a5)))
-
                        .                         .
                      __|__                     __|__
                      |   |                     |   |
@@ -438,9 +434,6 @@ As for the associative law,
 we'll give an example that will show how an inductive proof would
 proceed.  Let `f a = Node (Leaf a, Leaf a)`.  Then
 
-\tree (. (. (. (. (a1) (a2)))))
-\tree (. (. (. (. (a1) (a1)) (. (a1) (a1)))))
-
                                                   .
                                               ____|____
                  .               .            |       |