我有一个函数,我已经为使用lispyscript编写的节点js传递了上下文,它做了我想要的。这个函数的实际实现不是问题,这是一个词汇问题。
具有此类型签名的函数是否具有名称?
编辑: 我很确定有人会称这是一种仿函数,如果这是正确的,它会是什么类型的仿函数?
(defun closeOverDir (dir)
(defun closure (fn)
(lambda () (fn dir ...arguments))))
答案 0 :(得分:1)
我没有看到与functor的数学结构有任何关系。作为一个关闭其(词汇)范围(部分)的函数(因此,"闭合")显然它是function object,它也是常见的(至少对于C ++社区而言,称为" functors"。
查看签名
(x) => (func) => (...values) => func(x, ...values)
如果交换前两个参数,则签名
(func) => (x) => (...values) => func(x, ...values)
与partial application基本相同:提供函数func
以及一些参数值x
给出一个函数,它需要更多的参数值(其余的)并将函数func
应用于给予部分应用程序x
的参数值以及给予结果的参数值。