ocaml-standard-library/lib/tree.ml
2021-12-17 07:23:03 +11:00

10 lines
314 B
OCaml

open FromStdlib
open Types
let combine (tr1 : 'a tree) (tr2 : 'a tree) (topBranch : 'a) : 'a tree =
Branch (topBranch, tr1 :: tr2 :: [])
let rec map (f : 'a -> 'b) (tr : 'a tree) : 'b tree =
match tr with
| Branch (value, branches) -> Branch (f value, branches |> List.map (map f))
| Leaf -> Leaf