所以我是LISP的新手,我正在玩幾個基本的總和功能。LISP&rest issue
(defun suma (&rest L)
(cond
((null L) 0)
(T (+ (CAR L) (EVAL (CONS 'suma (CDR L)))))
))
(defun suma2 (&rest L)
(cond
((null L) 0)
(T (+ (car L) (suma2 (cdr L))))
))
第一個函數工作得很好。第二個函數給出這個錯誤:SB-KERNEL :: CONTROL-STACK-EXHAUSTED。
我的問題是:爲什麼第一個函數可以正常工作,而第二個不是當他們本質上正在做同樣的事情?