-of leaves?
-
-<pre>
-type ('a, 'r) continuation = ('a -> 'r) -> 'r;;
-let continuation_unit x c = c x;;
-let continuation_bind u f c = u (fun a -> f a c);;
-
-let rec treemonadizer (f:'a -> ('b, 'r) continuation) (t:'a tree):(('b tree), 'r) continuation =
- match t with Leaf x -> continuation_bind (f x) (fun x' -> continuation_unit (Leaf x'))
- | Node (l, r) -> continuation_bind (treemonadizer f l) (fun x ->
- continuation_bind (treemonadizer f r) (fun y ->
- continuation_unit (Node (x, y))));;
-</pre>
+of leaves?
+
+ type ('a, 'r) continuation = ('a -> 'r) -> 'r;;
+ let continuation_unit x c = c x;;
+ let continuation_bind u f c = u (fun a -> f a c);;
+
+ let rec treemonadizer (f : 'a -> ('b, 'r) continuation) (t : 'a tree) : ('b tree, 'r) continuation =
+ match t with
+ | Leaf x -> continuation_bind (f x) (fun x' -> continuation_unit (Leaf x'))
+ | Node (l, r) -> continuation_bind (treemonadizer f l) (fun x ->
+ continuation_bind (treemonadizer f r) (fun y ->
+ continuation_unit (Node (x, y))));;