2015/10/25
SICP 問題 2.54
(define (equal? a b)
(or (and (not (pair? a))
(not (pair? b))
(eq? a b))
(and (pair? a)
(pair? b)
(equal? (car a) (car b))
(equal? (cdr a) (cdr b)))))
gosh> (equal? '(this is a list) '(this is a list))
#t
gosh> (equal? '(this is a list) '(this (is a) list))
#f