Implement set equality.

This commit is contained in:
Dominik Pantůček 2023-04-11 13:49:28 +02:00
parent 30664d10f8
commit 575c1cdb3d
7 changed files with 44 additions and 7 deletions

View file

@ -50,6 +50,8 @@
lset-intersect
lset-subtract
lset=?
lset-tests!
)
@ -172,6 +174,11 @@
(loop (cdr lst)
(lset-remove ls (car lst))))))
;; Returns true if two sets are equal
(define (lset=? s1 s2)
(and (lset-empty? (lset-subtract s1 s2))
(lset-empty? (lset-subtract s2 s1))))
;; Module self-tests
(define (lset-tests!)
(run-tests