Code Review

Compare your solutions

    #| BEGIN (Write your solution here) |#
; Code from the book
(define (left-branch tree) (car tree))
(define (right-branch tree) (cadr tree))

; My code
(define (is-member e s)
    (cond
        ((null? s) #f)
        ((eq? e (car s)) #t)
        (else (is-member e (cdr s)))
    )
)
(define (encode-symbol symbol tree)
    (if (leaf? tree)
        '()
        (let ((left (left-branch tree)) (right (right-branch tree)))
            (cond
                ((is-member symbol (symbols left)) (cons 0 (encode-symbol symbol left)))
                ((is-member symbol (symbols right)) (cons 1 (encode-symbol symbol right)))
                (else (error "symbol not in tree"))
            )
        )
    )
)
#| END |#