From: shannonskipper@... Date: 2020-04-18T17:17:47+00:00 Subject: [ruby-core:97952] [Ruby master Feature#16781] alias :fold :reduce Issue #16781 has been updated by shan (Shannon Skipper). 0x81000000 (/ /) wrote: > 2. Name "fold" is more common/popular than "reduce" or "inject". I was surprised to hear this, since I think of "reduce" as most popular. A quick survey of popular languages seems to confirm that "reduce" is most popular, followed by "accumulate." Reduce: > JavaScript > Python > Java > PHP > Ruby > TypeScript > Swift Accumulate: > C# > C++ Fold: > *Not found* You do also see "fold" in functional languages like Clojure, Scala, Elixir, et cetera, where it has a different meaning than "reduce," which is also present. In any case, "inject" has fallen out of favor. > I have no idea how to properly add "fold" in Ruby's stdlib/corelib. You could an `rb_define_method(rb_mEnumerable, "fold", enum_inject, -1);` here: https://github.com/ruby/ruby/blob/v2_7_1/enum.c#L4172-L4173 ---------------------------------------- Feature #16781: alias :fold :reduce https://bugs.ruby-lang.org/issues/16781#change-85178 * Author: 0x81000000 (/ /) * Status: Open * Priority: Normal ---------------------------------------- 1. Method "collect" has short synonym "map", short synonym of "inject" and "reduce" doesn't exist. 2. Name "fold" is more common/popular than "reduce" or "inject". In my own code I use: ``` module Enumerable alias :fold :reduce end ``` I have no idea how to properly add "fold" in Ruby's stdlib/corelib. -- https://bugs.ruby-lang.org/ Unsubscribe: