Next: srfi comparators constructors debug, Previous: srfi comparators constructors refine, Up: srfi comparators constructors [Index]
Return a comparator that behaves like comparator, except that the
compare procedure returns +1, 0, and -1 instead of
-1, 0, and +1 respectively. This allows ordering
in reverse.
Here a usage example:
#!vicare
(import (vicare) (srfi :114))
(define-constant C
(make-reverse-comparator exact-integer-comparator))
;; type test
(let ((test-type (comparator-test-type-procedure C)))
(test-type 1) ⇒ #t
(test-type '()) ⇒ #f
(test-type "ciao")) ⇒ #f
;; type check
(let ((check-type (comparator-check-type-procedure C)))
(check-type 1) ⇒ #t
(try
(check-type (void))
(catch E
((&comparator-type-error)
#t)
(else E)))) ⇒ #t
;; comparison
(let ((compare (comparator-comparison-procedure C)))
(compare 1 1) ⇒ 0
(compare 1 2) ⇒ +1
(compare 2 1) ⇒ -1)
;; hash
(let ((hash (comparator-hash-function C)))
(non-negative-exact-integer? (hash 1))) ⇒ #t