Как взять пересечение пар из двух списков в схеме?
Я использую этот сценарий из Маленького интриганта, чтобы получить пересечение двух множеств. Но я получаю ошибку несвязанного идентификатора в 'член?Может кто-нибудь, пожалуйста, скажите, чтос этим не так
(define intersect
(lambda (set1 set2)
(cond ((null? set1) (quote ()))
((member? (car set1) set2)
(cons (car setl)
(intersect (cdr set1) set2)))
(else (intersect (cdr setl) set2)))))
Я пропустил эту функцию выше:
(define member?
(lambda (a lat)
(cond ((null? lat) #f)
(else (or (eq? (car lat) a)
(member? a (cdr lat)))))))
Также я хочу пересечь два списка вроде: '((1 2) (2 7)) '((1 3) (4 5)) = '((1 5)), какие-либо предложения о том, как это сделать? Я ищу ответы из этого поста:Как написать функцию схемы, которая принимает два списка и возвращает четыре списка