On Sun, Jul 23, 2017 at 4:54 AM, John Cowan <xxxxxx@ccil.org> wrote:


On Sun, Jul 23, 2017 at 10:43 AM, Marc Nieper-Wißkirchen <xxxxxx@nieper-wisskirchen.de> wrote:
 
What about: "... doesn't compare comparators using an equality predicate at least as fine as <code>equal?</code>..."?

How about cutting the Gordian knot and leaving mapping=? alone, and adding a new predicate `mapping-equivalent?` that accepts both a key and a value comparator, and compares two mappings for equivalence based on them?  That seems much more Schemely to me than providing a narrow special case in which mixed-comparator tests for equality will work.

I see that it is cleaner to keep mapping=? as the comparison-as-sets (hence requiring the same key comparator), like mapping<? etc. My main concern here is to make (=? default-comparator mapping1 mapping2) work without worrying about key comparators.

The suggested mapping-equivalent? is a different story; it may be useful, but if you know key-comparator you want to use, then you can convert the mappings with mapping-map beforehand, so I'm not sure how much it is needed.    My discussion is about being agnostic about key comparators as possible, and need no more fancier than just say mappings are not equivalent when key comparators are not equivalent.