Haskell中foldl'为何存在‘隐式反转’表述?
Haskell惰性求值与fold系列函数的探究
- 为深入理解惰性求值的优劣,我研究Haskell细节以完成《软件设计灵活性》(SDF)的练习5.9,期间遇到一个问题:Lisp社区为何没有将
cons改为惰性版本的kons。 - 之后我关注起
foldl及其严格变体foldl',查阅相关讨论后,始终对Haskell Wiki中“foldl'存在隐式反转”的表述存疑——foldl'明明是左到右结合的形式:...((z f x1) f x2)...xn,为何会有“反转”的说法? - 后续发现该表述存在歧义,Wiki社区经过讨论后明确了更准确的表述:
foldl为左结合,foldr为右结合,并通过非结合函数的示例直观展示了两者的结果差异。
内容的提问来源于stack exchange,提问作者An5Drama
相关产品推荐
相关产品推荐

