Polymorphic Map.
This is a polymorphic map, similar to standard library Map
module
but in a defunctorized style.
creates a new empty map, using the provided function for key comparison.
find x m
returns the current binding of x
in m
,
or raises Not_found
if no such binding exists.
mem x m
returns true
if m
contains a binding for x
,
and false
otherwise.
iter f m
applies f
to all bindings in map m
.
f
receives the key as first argument, and the associated value
as second argument. The order in which the bindings are passed to
f
is unspecified. Only current bindings are presented to f
:
bindings hidden by more recent bindings are not passed to f
.
fold f m a
computes (f kN dN ... (f k1 d1 a)...)
,
where k1 ... kN
are the keys of all bindings in m
,
and d1 ... dN
are the associated data.
The order in which the bindings are presented to f
is
unspecified.