type 'a avl = Empty | Node of int * 'a avl * 'a * 'a avl



let rec fold_dfs f acc ar =
  match ar with
    Empty -> acc
  | Node (alt,e,a,d) -> 
     let res = fold_dfs f acc e in
     let res2 = f res a in
     fold_dfs f res2 d

(* Ou então *)
let rec fold_dfs f acc ar =
  match ar with
    Empty -> acc
  | Node (alt,e,a,d) -> fold_dfs f (f (fold_dfs f acc e) a) d
                          

This document was generated using caml2html