List::Util C# 3.0 ienum.Aggregate(initval, func) ienum.Reverse().Aggregate(initval, func) ienum.Aggregate(func) ienum.Reverse().Aggregate(func) Aggregate jest rozszerzeniem typu ienum jest typu IEnumerable Konstrukcja analogiczna dla pozostałych języków .NET Java 8+ stream.reduce(initval, func) stream.reduce(func) JavaScript 1.8 array.reduce(func, initval) array.reduceRight(func, initval) array.reduce(func) array.reduceRight(func) Common Lisp (reduce func list :initial-value initval) (reduce func list :from-end t :initial-value initval) (reduce func list) (reduce func list :from-end t) func to symbol Scheme R6RS (fold-left func initval list) (fold-right func initval list) Smalltalk collection inject: value into: [ :value :each | ... ] Erlang lists:foldl(Fun, Accumulator, List) lists:foldr(Fun, Accumulator, List) PHP array_reduce(array, func, initval) array_reduce(array, func) initval czyli wartość początkowa może być jedynie typu integer. Kiedy nie ma initval używany jest NULL, więc nie jest to wersja foldl1.