Common lisp CommonLisp:一个函数可以接受多少个参数?

Common lisp CommonLisp:一个函数可以接受多少个参数?,common-lisp,Common Lisp,可能重复: 以下代码给出了“参数太多”错误: 同样适用于 (apply #'= u) 因此,我猜想在使用&rest编写defun时,参数的数量有一个上限。这是怎么一回事?我在该网站上搜索并尝试了各种页面,但我没有弄明白这一点。有一个名为CALL-ARGUMENTS-LIMIT的常量,它给出了可以传递给函数的参数的上限 但是,在最初的示例中,您完全可以使用REDUCE: (reduce #'+ u) 语言规范不是一个实现。理想情况下会有“无限制”,但实现(和硬件限制)…我明白了。因此,这取决

可能重复:

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

同样适用于

(apply #'= u)

因此,我猜想在使用&rest编写defun时,参数的数量有一个上限。这是怎么一回事?我在该网站上搜索并尝试了各种页面,但我没有弄明白这一点。

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

但是,在最初的示例中,您完全可以使用REDUCE:

(reduce #'+ u)

语言规范不是一个实现。理想情况下会有“无限制”,但实现(和硬件限制)…我明白了。因此,这取决于实施情况。我只是想知道语言是否设定了一个下限。我在CLisp和Clozure CL中尝试了
(defun疯狂(n)(应用#'+(I循环到n收集1))
,分别是4095和65535。您可以预期任何实现都至少需要3个参数,您现在可能需要下限的上限,不是吗?:-)是的,我想要一个max的下限,现在我发现答案是CALL-LIMIT
(reduce #'+ u)