magic-haskell icon indicating copy to clipboard operation
magic-haskell copied to clipboard

P55, P56页笔误

Open hongy19 opened this issue 5 years ago • 1 comments

P55, P56页有笔误。 P55 "我们用图表来直观地表示这两个函数的区别 (:) --- foldr f z ---> f" -> 此处的foldr应该是 foldl。 P56页相应的foldl 应该为foldr

hongy19 avatar Feb 01 '20 05:02 hongy19

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

youwillbe avatar Sep 27 '23 08:09 youwillbe