magic-haskell
magic-haskell copied to clipboard
P55, P56页笔误
P55, P56页有笔误。 P55 "我们用图表来直观地表示这两个函数的区别 (:) --- foldr f z ---> f" -> 此处的foldr应该是 foldl。 P56页相应的foldl 应该为foldr
P55, P56页有笔误。 P55 "我们用图表来直观地表示这两个函数的区别 (:) --- foldr f z ---> f" -> 此处的foldr应该是 foldl。 P56页相应的foldl 应该为foldr
这两个没问题的,只不过 foldl
右边的函数应用的树可能上下颠倒过来更形象一些
foldr f z [1, 2, 3] ≡ 1 `f` (2 `f` (3 `f` z))
(:) --- foldr f z --- f
/ \ / \
1 (:) 1 f
/ \ / \
2 (:) 2 f
/ \ / \
3 [] 3 z
foldl f z [1, 2, 3] ≡ (z `f` 1) `f` 2) `f` 3
(:) --- foldl f z --- z 1
/ \ \ /
1 (:) f 2
/ \ \ /
2 (:) f 3
/ \ \ /
3 [] f