Lisp中的Currying:(list 1 2 3)和(1 2 3)之间的区别?

Suz*_*ioc 1 lisp list currying

有什么区别(list f 1 2)(f 1 2)

如果是,则(f 1 2)相当于((f 1) 2)(currying)?

如果是,则(a b)意味着"添加b到列表末尾a"?

如果是,那么append功能是什么?

sep*_*p2k 5

(列表f 1 2)和(f 1 2)之间有什么区别吗?

是:使用参数(list f 1 2)调用函数,并创建包含这些元素的列表.调用函数与参数和,这为所欲为的定义做.listf12(f 1 2)f12f

是(f 1 2)相当于((f 1)2)(currying)?

不.Lisp中的函数不会自动计算.如果你调用一个函数,因为(f 1 2)它必须是一个真正的二进制函数,而不是一个curried函数.

是(ab)意味着"将b添加到列表a的末尾"?

不,这意味着" a用参数调用函数b".