畳み込み(fold)
from
畳み込みと展開
リストから値を求める
foldlとfoldr
foldM
参考
畳込関数fold:foldrとfoldlの違い (あるいはfold_right, fold_left) - 一歩前進
解説が丁寧