X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=manipulating_trees_with_monads.mdwn;h=ba990d10b63229290fa195be8cf24c967a084593;hp=315cb68a9e58726a8d8c6cb65aeca027794d82be;hb=23445a4f8be687dbd5be55eea7dcd7e6d2e7de05;hpb=bf8d964cc93f6b0b44a432bca8c94b1374c05e1f diff --git a/manipulating_trees_with_monads.mdwn b/manipulating_trees_with_monads.mdwn index 315cb68a..ba990d10 100644 --- a/manipulating_trees_with_monads.mdwn +++ b/manipulating_trees_with_monads.mdwn @@ -498,10 +498,11 @@ Okay, now let's do the same thing for our Tree monad. let rec bind (u : 'a tree) (f : 'a -> 'b tree) : 'b tree = match u with - | Leaf a -> (fun b -> b) (f a) (* see below *) + | Leaf a -> f a;; | Node (l, r) -> (fun l' r' -> Node (l', r')) (bind l f) (bind r f);; (* monadic operations for the TreeT monadic transformer *) + (* NOTE THIS IS NOT YET WORKING --- STILL REFINING *) type ('a, M) treeT = 'a tree M;;