У меня проблемы с n-арными функциями, например =, <и т. Д. Я пытаюсь реализовать в первую очередь =. Все, что у меня есть, это следующее (это не очень). </p>
(define builtin-= =)
(define (b= x y) (builtin-= x y))
(define (= . z)
(if (null? z) #f
(b= (car z) (apply = (cdr z)))))
Однако это приводит либо к бесконечной рекурсии, либо к переполнению кучи при запуске (= 2 3), или к любому другому подобному вызову.