Я пытаюсь удалить вхождение некоторого значения в двоичном дереве поиска. Это то, что я до сих пор:
(define removeBin (lambda (x t)
(cond ((< x (car t)) (removeBin x (cadr t)))
((> x (car t)) (removeBin x (caddr t)))
((equal? x (car t))
(if(and (null? (cadr t)) (null? (caddr t))) '()
(let ((r (replacement t))) ((set! (car t) r) (removeBin r t))))))))
Это дает мне следующую ошибку: set !: не идентификатор в: (car t)
Что это значит? и как я могу это исправить, чтобы установить! будет работать?
спасибо