Keys
The type for keys whose lookup value is of type 'a.
Maps
The type for heterogeneous value maps.
is_empty m is true iff m is empty.
mem k m is true iff k is bound in m.
add k v m is m with k bound to v.
singleton k v is add k v empty.
rem k m is m with k unbound.
find k m is the value of k's binding in m, if any.
get k m is the value of k's binding in m.
iter f m applies f to all bindings of m.
fold f m acc folds over the bindings of m with f, starting with acc
for_all p m is true iff all bindings of m satisfy p.
exists p m is true iff there exists a bindings of m that satisfies p.
filter p m are the bindings of m that satisfy p.
cardinal m is the number of bindings in m.
any_binding m is a binding of m (if not empty).
get_any_binding m is a binding of m.
Functorial interface
The functorial interface allows to associate more information to the keys. For example a key name or a key value pretty-printer.
The type for key information.
Output signature of the functor Make
Functor for heterogeneous maps whose keys hold information of type Key_info.t