Prawy fold 1 Uwagi Haskell foldl func initval list foldr func initval list foldl1 func list foldr1 func list OCaml List.fold_left func initval list Array.fold_left func initval array List.fold_right func list initval Array.fold_right func array initval OZ{FoldL List Func Initval}{FoldR List Func Initval} Python 2.x reduce(func, list, initval) reduce(lambda x,y: func(y,x), reversed(list), initval) reduce(func, list) reduce(lambda x,y: func(y,x), reversed(list)) Python 3.x functools.reduce(func, list, initval) functools.reduce(lambda x,y: func(y,x), reversed(list), initval) functools.reduce(func, list) functools.reduce(lambda x,y: func(y,x), reversed(list)) reduce jest pakiecie functools. Żeby używać functools.reduce: import functools Żeby używać reduce: from functools import reduce Ruby enum.inject(initval) { block } enum.reduce(initval) { block } enum.reverse_each.inject(initval, block) enum.reverse_each.reduce(initval, block) enum.inject { block } enum.reduce { block } enum.reverse_each.inject(block) enum.reverse_each.reduce(block) W Ruby 1.8.7+, można podawać również symbol oznaczający funkcję zamiast bloku enum to Enumerator C++ std::accumulate(begin, end, initval, func) std::accumulate(rbegin, rend, initval, func) w nagłówku <numeric> begin i end to iteratory Perl reduce block initval, list reduce block list w module