Haskell 谁帮忙深入解释一下柯里化?

debugger · 2014年04月30日 · 最后由 snailpp 回复于 2017年02月18日 · 8738 次阅读

看起来还是很简单,但是深入到内部怎么理解?为什么要叫这个名字?

sum' :: (Num a) => [a] -> a   
sum' xs = foldl (+) 0 xs

柯里化

sum' :: (Num a) => [a] -> a   
sum' = foldl (+) 0

我觉得你举的例子不好

这个是无点化(point free)

Haskell 的函数都是 Curry 化的. 名字来自 Haskell Curry, 一个数学家

fp 风格就是递归,就像苦行僧。

谢谢大家,不一一点赞了,刚开始接触,有些东西和 erlang 差不多,不知道谁学谁,多练习应该有所体会。

这个例子是 partial application 😄

你结合 Lambda 算子去理解就比较直接了,它就是 Lambda 的直接推理

需要 登录 后方可回复, 如果你还没有账号请 注册新账号