SICP問題2.54
(define (equal? x y) (cond ((and (null? x) (null? y)) #t) ((and (symbol? x) (symbol? y)) (eq? x y)) ((and (number? x) (number? y)) (= x y)) ((and (pair? x) (pair? y)) (and (equal? (car x) (car y)) (equal? (cdr x) (cdr y)))) (else #f)))
(define (equal? x y) (cond ((and (null? x) (null? y)) #t) ((and (symbol? x) (symbol? y)) (eq? x y)) ((and (number? x) (number? y)) (= x y)) ((and (pair? x) (pair? y)) (and (equal? (car x) (car y)) (equal? (cdr x) (cdr y)))) (else #f)))