1
我遇到了n元函数的问题,例如=,<等。我试图实现=首先。我所拥有的是以下(这不是很多)。Scheme:重新定义内置函数
(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