在许多列表处理语言(以及其他语言)中,它们都有一个名为curry的函数,它可以做一些简洁的事情。我的问题是为什么他们称之为咖喱?这个名字来自哪里?我唯一的猜测是来自世界各国的美味咖喱菜肴,但我看不出与这个和功能行为的任何关系。
答案 0 :(得分:24)
以Haskell Curry命名,他致力于函数式编程的数学基础。
答案 1 :(得分:4)
概念本身以Haskell Curry命名,后者开发了它。
Currying基本上是将N个参数的函数转换为N个嵌套函数的“树”,每个参数都有一个参数。
在Haskell中,curry
函数将两个参数的函数转换为一个参数的函数,该函数返回一个参数的另一个函数,最终返回结果。它的类型为:
curry :: ((a, b) -> c) -> a -> b -> c
它的实现比类型定义短:
curry f x y = f (x, y)