parent
34ae8d15bf
commit
2db9698835
|
@ -129,7 +129,9 @@
|
||||||
(cond [(for/or ([f (in-list (append (cdr fs) result))])
|
(cond [(for/or ([f (in-list (append (cdr fs) result))])
|
||||||
(opposite? f t))
|
(opposite? f t))
|
||||||
-top]
|
-top]
|
||||||
[(for/or ([f (in-list result)]) (or (filter-equal? f t) (implied-atomic? f t)))
|
[(let ([t-seq (Rep-seq t)])
|
||||||
|
(for/or ([f (in-list result)])
|
||||||
|
(or (= (Rep-seq f) t-seq) (implied-atomic? f t))))
|
||||||
(loop (cdr fs) result)]
|
(loop (cdr fs) result)]
|
||||||
[else
|
[else
|
||||||
(loop (cdr fs) (cons t result))])]))))
|
(loop (cdr fs) (cons t result))])]))))
|
||||||
|
@ -139,7 +141,7 @@
|
||||||
(case-lambda [() -top]
|
(case-lambda [() -top]
|
||||||
[(f) f]
|
[(f) f]
|
||||||
[fs (make-AndFilter fs)]))
|
[fs (make-AndFilter fs)]))
|
||||||
(let loop ([fs (remove-duplicates args filter-equal?)] [result null])
|
(let loop ([fs (remove-duplicates args equal? #:key Rep-seq)] [result null])
|
||||||
(if (null? fs)
|
(if (null? fs)
|
||||||
(match result
|
(match result
|
||||||
[(list) -top]
|
[(list) -top]
|
||||||
|
@ -158,7 +160,9 @@
|
||||||
[t (cond [(for/or ([f (in-list (append (cdr fs) result))])
|
[t (cond [(for/or ([f (in-list (append (cdr fs) result))])
|
||||||
(opposite? f t))
|
(opposite? f t))
|
||||||
-bot]
|
-bot]
|
||||||
[(for/or ([f (in-list result)]) (or (filter-equal? f t) (implied-atomic? t f)))
|
[(let ([t-seq (Rep-seq t)])
|
||||||
|
(for/or ([f (in-list result)])
|
||||||
|
(or (= (Rep-seq f) t-seq) (implied-atomic? t f))))
|
||||||
(loop (cdr fs) result)]
|
(loop (cdr fs) result)]
|
||||||
[else
|
[else
|
||||||
(loop (cdr fs) (cons t result))])]))))
|
(loop (cdr fs) (cons t result))])]))))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user