代码之家  ›  专栏  ›  技术社区  ›  Evan Aad

高阶函数类似于Haskell的翻转但未卷曲[关闭]的函数式编程语言

  •  1
  • Evan Aad  · 技术社区  · 7 年前

    有没有函数自动编程的函数编程语言,它具有一个内置的或库的高阶函数,它具有表单(AXB)-gt;c的函数,并返回表单(BXA)-gt;c的等效函数?这与Haskell的翻转功能类似。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Andrey Tyukin    7 年前

    "Homotopy Type Theory" 在第26页的1.4中,当前版本的函数被调用 “交换” :

    swap: Π(A:U)Π(B:U)Π(C:U) (A -> B -> C) -> (B -> A -> C)
    
    swap(A, B, C, g)(b, a) := λb.λa.g(a)(b)
    

    我不知道为什么你会想有一个单独的名字为未结婚的版本,反正有什么区别…

        2
  •  2
  •   Karl Bielefeldt    7 年前

    你不需要讨好就可以实现 flip 是的。下面是斯卡拉的一个实现:

    def flip[A,B,C](f: (A, B) => C): (B, A) => C = (b: B, a: A) => f(a, b)
    

    它是否“内置”是另一个问题。在功能性编程中并不重要。不用咖喱也没有你通常想用的那么有用 轻弹 为了让作文发挥作用。

    推荐文章