summaryrefslogtreecommitdiff
path: root/tree.sig
diff options
context:
space:
mode:
Diffstat (limited to 'tree.sig')
-rw-r--r--tree.sig13
1 files changed, 13 insertions, 0 deletions
diff --git a/tree.sig b/tree.sig
new file mode 100644
index 0000000..afab259
--- /dev/null
+++ b/tree.sig
@@ -0,0 +1,13 @@
+signature TREE = sig
+ type ('k, 'v) t
+ exception Exists
+
+ val empty: ('k, 'v) t
+
+ val insert: ('k -> 'k -> order) -> ('k, 'v) t -> 'k -> 'v -> ('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