Если список пуст / без атомарного car
, как бы глубоко вы ни пошли (например, (car (car (car ...)))
рекурсивно), тогда ответ ложный.
Вы хотите найти первый атом списка и посмотреть, встречается ли этот атом где-нибудь еще в списке. Вы можете сделать это с помощью функции, подобной member-of?
- нечто подобное обсуждается в Little Schemer , но в основном вы просто проверяете все атомы в списке и повторяетесь в списках против этого атома.
Тогда, если этот атом находится в списке, вы можете вернуть true.
Иначе, вы попытаетесь снова (повторить) с cdr
в списке.