1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
(* $Id$ *)
(* Discrimination nets. *)
type ('lbl,'pat) dn_args = 'pat -> ('lbl * 'pat list) option
type ('lbl,'pat,'inf) t = {
tm : (('lbl * int) option,'pat * 'inf) Tlm.t;
args : ('lbl,'pat) dn_args }
type ('lbl,'pat,'inf) under_t = (('lbl * int) option,'pat * 'inf) Tlm.t
val create : ('lbl,'pat) dn_args -> ('lbl,'pat,'inf) t
val add : ('lbl,'pat,'inf) t -> 'pat * 'inf -> ('lbl,'pat,'inf) t
val rmv : ('lbl,'pat,'inf) t -> 'pat * 'inf -> ('lbl,'pat,'inf) t
val path_of : ('lbl,'pat) dn_args -> 'pat -> ('lbl * int) option list
val lookup :
('lbl,'pat,'inf) t -> ('lbl,'term) dn_args -> 'term -> ('pat * 'inf) list
val app : (('pat * 'inf) -> unit) -> ('lbl,'pat,'inf) t -> unit
|