【问题标题】:what is a function with the following type signature: (x) => (func) => (...values) => func(x,...values)什么是具有以下类型签名的函数: (x) => (func) => (...values) => func(x,...values)
【发布时间】:2016-03-18 06:46:28
【问题描述】:

我编写了一个函数,用于为使用 lispyscript 编写的节点 js 传递上下文,它可以满足我的需求。这个函数的实际实现不是问题,这是一个词汇问题。

具有这种类型签名的函数有名称吗?

编辑: 我很确定有人会称它为一种仿函数,如果正确,它会是什么类型的仿函数?

(defun closeOverDir (dir)
  (defun closure (fn)
     (lambda () (fn dir ...arguments))))

【问题讨论】:

    标签: javascript lisp functor lispyscript


    【解决方案1】:

    我看不出与functor 的数学结构有任何关系。作为一个关闭(部分)其(词法)范围(因此是“闭包”)的函数,很明显它是function object,通常(至少对于C ++社区)也称为“函子” .

    看签名

    (x) => (func) => (...values) => func(x, ...values)
    

    如果交换前两个参数,则签名

    (func) => (x) => (...values) => func(x, ...values)
    

    partial application 基本相同:提供函数func 以及一些参数值x 给出了一个函数,它需要更多的参数值(其余)并将应用函数@ 987654328@ 到为部分应用程序x 提供的参数值以及为结果提供的参数值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-06
      • 2019-10-30
      • 1970-01-01
      • 2018-05-01
      • 2021-06-03
      • 2018-01-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多