package GuaCaml

  1. Overview
  2. Docs
type (!'leaf, !'edge, !'node) next =
  1. | Node of ('leaf, 'edge, 'node) node
  2. | Leaf of 'leaf
and (!'leaf, !'edge, !'node) edge = 'edge * ('leaf, 'edge, 'node) next
and (!'leaf, !'edge, !'node) node = 'node * ('leaf, 'edge, 'node) edge * ('leaf, 'edge, 'node) edge
val get_next_leaf : 'a -> ('a, 'b, 'c) next
val get_next_node : ('a -> ('b, 'c, 'd) node) -> 'a -> ('b, 'c, 'd) next
val get_edge : ('a -> 'b) -> ('c * 'a) -> 'c * 'b
val get_node : ('a -> 'b) -> ('c -> 'd) -> ('e * 'a * 'c) -> 'e * 'b * 'd
val get_edge_leaf : ('a * 'b) -> ('b, 'a, 'c) edge
val get_node_leaf : ('a * ('b * 'c) * ('b * 'c)) -> ('c, 'b, 'a) node
val o3_next : (('a, 'b, 'c) next -> (('a, 'b, 'c) node, 'a) Poly.c2) * ((('d, 'e, 'f) node, 'd) Poly.c2 -> ('d, 'e, 'f) next)
val bindump : 'leaf BTools.ToB.t -> 'edge BTools.ToB.t -> 'node BTools.ToB.t -> ('leaf, 'edge, 'node) next BTools.ToB.t * ('leaf, 'edge, 'node) edge BTools.ToB.t * ('leaf, 'edge, 'node) node BTools.ToB.t
val bindump_edge : 'a BTools.ToB.t -> 'b BTools.ToB.t -> 'c BTools.ToB.t -> ('a, 'b, 'c) edge BTools.ToB.t
val binload : 'leaf BTools.OfB.t -> 'edge BTools.OfB.t -> 'node BTools.OfB.t -> ('leaf, 'edge, 'node) next BTools.OfB.t * ('leaf, 'edge, 'node) edge BTools.OfB.t * ('leaf, 'edge, 'node) node BTools.OfB.t
val o3s : ('a BTools.ToB.t * 'b BTools.OfB.t) -> ('c BTools.ToB.t * 'd BTools.OfB.t) -> ('e BTools.ToB.t * 'f BTools.OfB.t) -> (('a, 'c, 'e) next BTools.ToB.t * ('b, 'd, 'f) next BTools.OfB.t) * (('a, 'c, 'e) edge BTools.ToB.t * ('b, 'd, 'f) edge BTools.OfB.t) * (('a, 'c, 'e) node BTools.ToB.t * ('b, 'd, 'f) node BTools.OfB.t)
val binload_edge : 'a BTools.OfB.t -> 'b BTools.OfB.t -> 'c BTools.OfB.t -> ('a, 'b, 'c) edge BTools.OfB.t
val o3s_edge : ('a BTools.ToB.t * 'b BTools.OfB.t) -> ('c BTools.ToB.t * 'd BTools.OfB.t) -> ('e BTools.ToB.t * 'f BTools.OfB.t) -> ('a, 'c, 'e) edge BTools.ToB.t * ('b, 'd, 'f) edge BTools.OfB.t