haw*_*eye 1 haskell currying partial-application
在一些函数式语言中,部分应用函数和柯里化函数是两个相似但不同的概念。
阅读《Learn You a Haskell for Great Good》一书,作者似乎可以互换应用这些。
【Curried 函数】 Haskell 中的每个函数官方都只带一个参数。
...
如果我们调用一个参数太少的函数,我们会得到一个部分应用的函数,这意味着一个函数的参数与我们省略的参数一样多。
我的问题是:Haskell 中部分应用和柯里化的概念可以互换吗?
它们是不同但相关的概念。因为函数定义是柯里化的,所以当你部分应用一个函数时(即,调用它的参数比它预期的要少),你会得到另一个需要更少参数的函数。
柯里化的过程是用 N 个一元函数的“层”替换一个 N 元函数,这样你就可以部分应用它,转动
function(x,y) {return x+y;}
Run Code Online (Sandbox Code Playgroud)
进入
function(x) {return function(y) {return x+y;};}
Run Code Online (Sandbox Code Playgroud)
柯里化是定义函数的一部分,部分应用是调用函数时对函数执行的操作。
| 归档时间: |
|
| 查看次数: |
321 次 |
| 最近记录: |