Решение упражнения 2.66 из SICP
Просто возьмем процедуру element-of-set? для множеств, представленных бинарными деревьями, и модернизируем ее для работы с записями с числовым ключом. Также учтем, что lookup не только проверяет присутствие записи с заданным ключом, но и возвращает саму эту запись в случае успешного поиска.
Получим следующую процедуру:
(define (lookup given-key set-of-records)
(cond ((null? set-of-records) false)
((= given-key (key (entry set-of-records)))
[…]