Haskell语言设计团队对于为什么foldr和mapAccumR在映射函数中使用相反的参数顺序有什么看法?

时间:2017-11-18 19:56:15

标签: haskell

鉴于mapAccumR通常被描述为mapfoldr的组合,我想知道为什么foldr和{{1}的映射功能期望参数的顺序相反。

mapAccumR使用的顺序是值,累加器:

foldr

λ foldr (-) 0 [1,2] -1 λ foldr (\val acc -> val - acc) 0 [1, 2] -1 使用的顺序是累加器,值:

mapAccumR

因此,λ mapAccumR (\acc val -> (val - acc, val)) 0 [1,2] (-1,[1,2]) 是地图和mapAccumR的组合,但并不完全像人们预期的那样。我想知道是什么促成了这个设计决定。这种差异是否有原因或优势?

谢谢!

0 个答案:

没有答案