What about: "... doesn't compare comparators using an equality predicate at least as fine as <code>equal?</code>..."?* For =? to work, you don't need to order or hash comparators.The paragraph you quoted above does not refer to =? but to the comparator returned by make-mapping-comparator.
Also, are you inclined to allow mapping=? accepts mappings with different comparators? I'm totally fine for it to restrict mappings with the same comparators; I'm concerned only for (=? (make-mapping-comparator value-cmpr) mapping1 mapipng2) case, and we can make explicit mention in the case there, without touching mapping=?. I'm not sure which way is better.If we allow mapping=? to accept mappings with different comparators and (mapping=? value-cmpr mapping1 mapping2) => #f for such mappings, then the equality test behavior is covered clearly in the paragraph before the added one I quoted, so I think the above quoted paragraph is unnecessary. We only need to menthion ordering case:We can add the clarifying paragraph to the "Comparator restrictions" section saying that comparators are compared by an implementation dependent equality predicate, which is at least as fine as "equal?".
If <code>make-mapping-comparator</code> is imported from <code>(srfi 146)</code>, the lexicographic ordering with respect tothe keys (and, in case a tiebreak is neccessary, with respect tothe ordering of the values) is used for mappings sharing a comparator.If its ordering procedure is invoked on mappings that don't share a comparator,it is an error unless the implementation's default comparator can order comparators,That ordering has to be compatible with some sensible equality predicate. Note that the sample implementation of SRFI 128 does order comparators albeit trivially.
or the implementation of (srfi 146) provides some way to order comparators.If the implementation can order comparators, it takes precedence beforethe lexicographic ordering.Plus,If <code>make-hashmap-comparator</code> is imported from <code>(srfi 146 hash)</code>, the hash procedure of the returned comparator may use hashmap's key comparator for hashvalue calculation, if the implementation's default comparator is capable to hash comparators.Shall (make-hash-map-comparator) provide a hash function if the implementation's default comparator isn't capable to hash comparators?