Comparators are a useful abstraction for data
structures like sets that may want to use different
implementation strategies. However, SRFI 114 is
a full featured API with many utilities, and for the
simple purpose of this abstraction most of it is not
needed.
Could we have a (srfi 114 base) library that
provides only the predicates and accessors,
and possibly some subset of default predicates?
(notably eq? is special)
Nitpick: comparator-comparison-procedure? would
be better named comparator-has-comparison-procedure?.
But do we need this given the accessor?
You're overloading "compare" to mean both the
abstraction and ordered comparisons. Could we
rename the ordering to be something like "less" or
"order"?
--
Alex