В вашем коде вы вызывали два вызова функций в ().Когда вы используете это, ваш символ должен быть функцией / процедурой.Итак, вы получили ошибку.
Проверьте код ниже.Я изменил его на (and
(define tower_of_hanoi
(lambda (move discs from to using)
(if (> discs 0)
(and (tower_of_hanoi move (- discs 1) from using to)
(display move)(display " from ")(display from) (display " to ")(display to) (display "\n")
(tower_of_hanoi move (- discs 1) using to from)))))