summaryrefslogtreecommitdiff
path: root/tree.sig
blob: 8caf4ccef1e1749541829b7c2ea8205c1513e0b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
signature TREE = sig
  type ('k, 'v) t

  val empty: ('k, 'v) t

  val insert: ('k -> 'k -> order) -> ('k, 'v) t -> 'k -> 'v
        -> 'v option * ('k, 'v) t

  val lookup: ('k -> 'k -> order) -> ('k, 'v) t -> 'k -> 'v option
  val lookup2: ('k -> 'k -> order) -> ('k, 'v) t -> 'k ->
        ('v -> 'v option * 'a) * 'a -> 'a * ('k, 'v) t

  val print: ('k, 'v) t -> ('k -> string) -> ('v -> string) -> unit
end