(enum-set-subset? enum-set-2 enum-set-1)))
(define (enum-set-union enum-set-1 enum-set-2)
- (if (eq? (enum-set-universe enum-set-1)
- (enum-set-universe enum-set-2))
+ (if (equal? (enum-set-universe enum-set-1)
+ (enum-set-universe enum-set-2))
(make-enum-set (enum-set-universe enum-set-1)
(lset-union eq?
(enum-set-set enum-set-1)
(raise (make-assertion-violation))))
(define (enum-set-intersection enum-set-1 enum-set-2)
- (if (eq? (enum-set-universe enum-set-1)
- (enum-set-universe enum-set-2))
+ (if (equal? (enum-set-universe enum-set-1)
+ (enum-set-universe enum-set-2))
(make-enum-set (enum-set-universe enum-set-1)
(lset-intersection eq?
(enum-set-set enum-set-1)
(raise (make-assertion-violation))))
(define (enum-set-difference enum-set-1 enum-set-2)
- (if (eq? (enum-set-universe enum-set-1)
- (enum-set-universe enum-set-2))
+ (if (equal? (enum-set-universe enum-set-1)
+ (enum-set-universe enum-set-2))
(make-enum-set (enum-set-universe enum-set-1)
(lset-difference eq?
(enum-set-set enum-set-1)
(define-syntax constructor-syntax
(lambda (s)
(syntax-case s ()
- ((_) (syntax #f))
((_ sym (... ...))
(let* ((universe '(symbol ...))
(syms (syntax->datum #'(sym (... ...))))