From 505ce39c91cf999a6408ea3c69c56e8a2c076875 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Sat, 11 Feb 2017 21:31:04 -0800 Subject: [PATCH] Allow conjoin and disjoin to be used with unregistered predicates. --- src/runtime/compound-predicate.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/runtime/compound-predicate.scm b/src/runtime/compound-predicate.scm index 183f8f45f..aad7bd579 100644 --- a/src/runtime/compound-predicate.scm +++ b/src/runtime/compound-predicate.scm @@ -134,11 +134,13 @@ USA. (list car-predicate cdr-predicate))) (define (make-predicate datum-test operator operands) - (tag->predicate - ((compound-operator-builder operator) - datum-test - operator - (map predicate->tag operands)))) + (if (every predicate? operands) + (tag->predicate + ((compound-operator-builder operator) + datum-test + operator + (map predicate->tag operands))) + datum-test)) (define compound-operator?) (define compound-operator-builder) -- 2.25.1