New release of SRFI 114 with implementation John Cowan (04 Dec 2013 04:16 UTC)
Re: New release of SRFI 114 with implementation Arthur A. Gleckler (04 Dec 2013 05:52 UTC)
Re: New release of SRFI 114 with implementation John Cowan (04 Dec 2013 20:28 UTC)
Re: New release of SRFI 114 with implementation Michael Sperber (04 Dec 2013 08:38 UTC)
Re: New release of SRFI 114 with implementation John Cowan (04 Dec 2013 13:52 UTC)
Re: New release of SRFI 114 with implementation Shiro Kawai (04 Dec 2013 13:54 UTC)
Re: New release of SRFI 114 with implementation John Cowan (04 Dec 2013 20:49 UTC)
Re: New release of SRFI 114 with implementation Shiro Kawai (04 Dec 2013 23:46 UTC)
Re: New release of SRFI 114 with implementation John Cowan (05 Dec 2013 18:35 UTC)
Re: New release of SRFI 114 with implementation Shiro Kawai (05 Dec 2013 22:08 UTC)
Re: New release of SRFI 114 with implementation Kevin Wortman (08 Dec 2013 02:32 UTC)
Re: New release of SRFI 114 with implementation John Cowan (08 Dec 2013 03:13 UTC)
Re: New release of SRFI 114 with implementation Kevin Wortman (08 Dec 2013 03:45 UTC)
Re: New release of SRFI 114 with implementation John Cowan (08 Dec 2013 17:01 UTC)
Re: New release of SRFI 114 with implementation Kevin Wortman (09 Dec 2013 00:10 UTC)
Re: New release of SRFI 114 with implementation John Cowan (09 Dec 2013 00:30 UTC)

Re: New release of SRFI 114 with implementation Kevin Wortman 08 Dec 2013 02:32 UTC

On 12/03/2013 08:16 PM, John Cowan wrote:
> I finally finished writing the sample implementation of SRFI 114,
> Comparators, with the exception of the tests.

As others have said, this is a useful and clean proposal. A few minor
comments:

(make-comparator type-test equality compare hash)

I presume that the convenience behavior when compare or hash are #f, is
provided to support objects that are orderable or hashable but not both.
This is reasonable, but it seems like there needs to be some method of
introspection to determine whether one of a comparator's procedures is
effectively missing. A hash table may want to raise an error when given
a non-hashing comparator, for instance.

Binary comparison predicates
Chain (multiple argument) comparison predicates

Why not have only the chain predicates, with the short names used for
the current "Binary comparison predicates"?

Min/max comparison predicates

When multiple arguments are tied for minimum/maximum, which one is
returned? This matters when the minimal/maximal objects are equal
according to the comparator but not according to eqv?.

Kevin Wortman