(define (substitute s old new)
(if (null? s)
'()
(if (list? (car s) false)
(cond ((eq? (car s) old)
(cons new (substitute (cdr s) old new)))
(else
(cons (car s) (substitute (cdr s) old new)))))
(if (list? (car s)
(cons (substitute (car s) old new) (substitute (cdr s) old new))))))
Ошибка, которую я получаю, говорит о том, что это плохой синтаксис - любая подсказка о том, почему это может быть? Функция должна принимать в списке, а также старое слово, которое, если оно существует в списке, заменяется новым словом.Замена элементов списка в схеме