This module defines interfaces used in Core.Std.Map
. See the documentation in
core_map.mli for a description of the approach.
CRs and comments about Map
functions do not belong in this file. They belong next
to the appropriate function in core_map.mli.
This module defines module types
{Creators,Accessors}{1,2,3,_generic,_with_comparator}
. It uses check functors to
ensure that each module types is an instance of the corresponding _generic
one.
We must treat Creators
and Accessors
separately, because we sometimes need to
choose different instantiations of their options
. In particular, Map
itself
matches Creators3_with_comparator
but Accessors3
(without comparator).