Module Dn.Make

Parameters

Signature

type 'a decompose_fun = 'a -> (Y.t * 'a list) option
type t
val empty : t
val add : t -> 'a decompose_fun -> ('a * Z.t) -> t
val rmv : t -> 'a decompose_fun -> ('a * Z.t) -> t
type 'tree lookup_fun = 'tree -> (Y.t * 'tree list) lookup_res
val lookup : t -> 'term lookup_fun -> 'term -> Z.t list
val app : (Z.t -> unit) -> t -> unit