常见的lisp:函数可以使用多少个参数?

h__*_*h__ 3 common-lisp

可能重复:
在Lisp中,+函数实际上有多少输入?

以下代码给出了"太多参数"错误:

(setf u (loop for i upto 50000 collect 1))
(apply #'+ u)
Run Code Online (Sandbox Code Playgroud)

同样的

(apply #'= u)
Run Code Online (Sandbox Code Playgroud)

所以我想当用&rest写defun时,参数数量有一个上限.它是什么?我在这里搜索并尝试该网站上的各种页面,但我无法弄清楚这一点.

Vat*_*ine 5

有一个名为CALL-ARGUMENTS-LIMIT的常量,它给出了可以传递给函数的参数数量的上限.

但是,在您的初始示例中,您绝对可以使用REDUCE:

(reduce #'+ u)
Run Code Online (Sandbox Code Playgroud)