1. Overview
  2. Docs
type node = state

The type of information attached to the nodes of the tree

type edge = label

The type of information attached to the edges of the tree

type t =
  1. | Empty
  2. | Node of node * (t * edge) list
val fold : (node -> node -> node) -> node -> t -> node

fold f z t is f (... (f (f z n1) n2) ...) nn, where n1, ..., nn are the nodes of t. The order in which the nodes are presented is unspecified.

val dot_output : string -> string -> ?options:Utils.Dot.graph_style list -> t -> unit

dot_output name fname t writes a .dot representation of tree t with name name in file fname. The aspect of the tree can be adjusted with the options optional argument (see Dot.graph_style).

val dot_view : string -> ?options:Utils.Dot.graph_style list -> ?dir:string -> ?cmd:string -> t -> int

dot_view name t writes a .dot representation of t in file dir/name.dot and opens it with Graphviz. The output directory dir is specified with the dir optional argument (default: "/tmp"). The command for launching Graphviz is specified with the cmd optional argument (default: "open -a Graphviz"). The options optional argument is the same than defined for dot_output. The function returns the exit code of the corresponding process.