【问题标题】:Why is the function curry called curry?为什么函数 curry 叫 curry?
【发布时间】:2015-06-19 07:32:18
【问题描述】:

在许多列表处理语言(以及其他语言)中,它们都有一个称为 curry 的函数,它可以做一些简洁的事情。我的问题是他们为什么称它为咖喱?这个名字从何而来?我唯一的猜测是来自世界各国的美味咖喱菜,但我看不出这与功能行为有任何关系。

【问题讨论】:

  • 提示:编程语言 Haskell 是以 Haskell Curry 的名字命名的。
  • 因为 Schönfinkeln 导致讲英语的人出现问题 ;)(请参阅Moses Schönfinkel
  • 还要注意,还有一种称为Curry 的功能逻辑语言,顺便说一下,它使用Haskell 语法。

标签: function functional-programming currying


【解决方案1】:

它以 Haskell Curry 命名,他致力于函数式编程的数学基础。

【讨论】:

    【解决方案2】:

    这个概念本身是以开发它的Haskell Curry 命名的。

    Currying 基本上是将 N 个参数的函数转换为 N 个嵌套函数的“树”,每个函数接受一个参数。

    在 Haskell 中,curry 函数将两个参数的函数转换为一个参数的函数,该函数返回一个参数的另一个函数,最终返回结果。它的类型:

    curry :: ((a, b) -> c) -> a -> b -> c
    

    它的实现比类型定义要短:

    curry f x y =  f (x, y)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-26
      • 2021-07-12
      • 2019-01-22
      • 1970-01-01
      • 2012-01-13
      • 2018-12-03
      相关资源
      最近更新 更多