【发布时间】:2019-01-28 12:06:27
【问题描述】:
我正在尝试理解柯里化的概念并转到Haskell documentation。但是,它说
f 是 g 的柯里化形式
然而 f 有两个参数,而 g 只有一个。由于currying是将一个接受多个参数的函数转换为一个接受一个参数并返回另一个函数的函数,'g'不应该是curried函数吗?
来自 haskell 文档
柯里化是将一个接受多个参数的函数转换为一个只接受一个参数的函数并在仍然需要任何参数时返回另一个函数的过程。
f :: a -> b -> c
is the curried form of
g :: (a, b) -> c
所以这对我来说似乎是矛盾的,我也没有看到这两个函数中的任何一个都返回一个函数。
【问题讨论】:
-
一个接受一个 k 元组参数的函数有时被称为接受 k 个参数。这是数学中的常用术语。
-
What is 'Currying'?的可能重复