1
У меня возникли проблемы с функциями n-ary, например, = < и т. Д. Я пытаюсь реализовать = в первую очередь. Все, что у меня есть, это следующее (это не очень много).Схема: переопределение встроенных модулей
(define builtin-= =)
(define (b= x y) (builtin-= x y))
(define (= . z)
(if (null? z) #f
(b= (car z) (apply = (cdr z)))))
Однако это приводит к бесконечной рекурсии или переполнению кучи при запуске (= 2 3) или любом другом подобном вызове.
Я думаю, что вы используете `equal?`, А не `=` – erjiang 2010-12-05 00:55:42