summaryrefslogtreecommitdiff
path: root/lib/fmap.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/fmap.mli')
-rw-r--r--lib/fmap.mli23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/fmap.mli b/lib/fmap.mli
new file mode 100644
index 00000000..c323b055
--- /dev/null
+++ b/lib/fmap.mli
@@ -0,0 +1,23 @@
+
+module Make : functor (X : Map.OrderedType) ->
+sig
+ type key = X.t
+ type 'a t
+
+val empty : 'a t
+val is_empty : 'a t -> bool
+val add : key -> 'a -> 'a t -> 'a t
+val find : key -> 'a t -> 'a
+val remove : key -> 'a t -> 'a t
+val mem : key -> 'a t -> bool
+val iter : (key -> 'a -> unit) -> 'a t -> unit
+val map : ('a -> 'b) -> 'a t -> 'b t
+val fold : (key -> 'a -> 'c -> 'c) -> 'a t -> 'c -> 'c
+
+(* Additions with respect to ocaml standard library. *)
+
+val dom : 'a t -> key list
+val rng : 'a t -> 'a list
+val to_list : 'a t -> (key * 'a) list
+end
+