Code Review

Compare your solutions

    #| BEGIN (Write your solution here) |#
(define (element-of-set? x set)
    (cond
        ((null? set) #f)
        ((equal? x (car set)) #t)
        (else (element-of-set? x (cdr set)))
    )
)
(define (adjoin-set x set)
    (cons x set)
)
(define (union-set s1 s2)
    (if (null? s2)
        s1
        (union-set (adjoin-set (car s2) s1) (cdr s2))
    )
)
(define (intersection-set s1 s2)
    (cond
        ((or (null? s1) (null? s2)) '())
        ((element-of-set? (car s1) s2) (cons (car s1) (intersection-set (cdr s1) s2)))
        (else (intersection-set (cdr s1) s2))
    )
)
#| END |#