summaryrefslogtreecommitdiffstats
path: root/composing-comparators.scm
diff options
context:
space:
mode:
authorGravatar Daphne Preston-Kendal 2021-12-29 17:48:01 +0100
committerGravatar Daphne Preston-Kendal 2021-12-29 17:48:01 +0100
commit8c7d09b758bb04b07b9c89a7a46c8f89a3de651c (patch)
treea6b39248d22fef25492ca4c4aeb8cb7aca4805e0 /composing-comparators.scm
parentit’s an SRFI (diff)
Nix compose-comparator syntax, rename composed to product comparator
Diffstat (limited to 'composing-comparators.scm')
-rw-r--r--composing-comparators.scm24
1 files changed, 1 insertions, 23 deletions
diff --git a/composing-comparators.scm b/composing-comparators.scm
index c6b6c7d..3356797 100644
--- a/composing-comparators.scm
+++ b/composing-comparators.scm
@@ -16,7 +16,7 @@
((comparator-hash-function contents-comparator) x))
#f)))
-(define (make-composed-comparator type-test . comparators)
+(define (make-product-comparator type-test . comparators)
(make-comparator
type-test
(if (every comparator-equality-predicate comparators)
@@ -43,28 +43,6 @@
(list->generator comparators))))
#f)))
-(define-syntax compose-comparator
- (syntax-rules ()
- ((_ type-test (unwrap . more) ...)
- (make-composed-comparator
- type-test
- (let-values (((unwrap cmp) (compose-comparator-form unwrap . more)))
- (make-wrapper-comparator
- (comparator-type-test-predicate cmp)
- unwrap
- cmp)) ...))))
-
-(define-syntax compose-comparator-form
- ;; Using this submacro enables enforcement of the correct form with
- ;; moderately more useful syntax errors than doing it the SRFI 9
- ;; way, at least within the limited bounds of what one can do for
- ;; that in syntax-rules.
- (syntax-rules ()
- ((_ unwrap) (compose-comparator-form unwrap (make-default-comparator)))
- ((_ unwrap cmp)
- (values
- unwrap cmp))))
-
(define (comparison-procedures comparator)
(values
(lambda args (apply <? comparator args))