同じ要素が同じ順番に並んでるリストはequalだそうで、それを判定する関数作る。
(define (equal? list1 list2) (cond ((and (null? list1) (null? list2)) #t) ((eq? (car list1) (car list2)) (equal? (cdr list1) (cdr list2))) (else #f)))
下の各リストがequalかどうか。
(equal? '(this is a list) '(this is a list)) ; #t (equal? '(this is a list) '(this (is a) list)) ; #f (equal? '() '()) ; #t