generated at
fold関数
Foldable型クラスのmethodの1つ
FoldableからMonoidを作る

定義
1.hs
fold :: (Monoid m, Foldable t) => t m -> m fold = foldr mappend mempty
foldMapをやや特殊化したものである
foldMapの引数 f に、何もしない id を与える
2.hs
foldMap f = foldr (mappend . f) mempty fold = foldMap id
このfoldMapの定義をインライン展開したものが、 1.hs mrsekut
意味としては全く同じ


具体例
MonodとしてList、 FoldableとしてListを選択
hs
concat :: [[a]] -> [a] concat = foldr (++) []
使用例
hs
fold [[1],[2],[3]] -- [1,2,3] concat [[1],[2],[3]] -- [1,2,3]


参考