reduce的同义词综合列表

Nic*_*son 9 language-agnostic programming-languages functional-programming fold

通常称为高阶函数reduce在各种语言中具有许多同义词.

在我的脑海中,我可以想到:

  • foldr,foldl(又名右折和左折)(Haskell)
  • inject (Smalltalk,Ruby,Groovy)
  • Aggregate (LINQ)
  • accumulate(维基百科)
  • compress(维基百科)

是否有这个功能的所有不同名称的综合列表?如果没有,让我们在这里做一个.知道这将是有用的.

我对从每种语言中获取库函数名称不太感兴趣,我正在寻找更多的口语,"如何在句子中使用"类型引用.

Kri*_*ski 7

您可能会注意到,一般来说,这个概念被称为catamorphism. 来自维基百科,或者可爱的文章功能编程与香蕉,镜头,信封和铁丝网.

  • 神圣的废话,我知道Erik Meijer很棒,但我不知道他在1991年也很棒!谢谢你们这些:) (2认同)

Don*_*art 5

来自" 关于折叠的普遍性和表现力的教程 ":

折叠算子起源于递归理论(Kleene,1952),而折叠作为编程语言的中心概念可以追溯到APL 的简化算子(Iverson,1962),后来又归入FP 的插入算子. (巴克斯,1978年).


Nic*_*son 5

好吧,到目前为止总列表似乎是:

  • catamorphism(总称,见克里斯托弗的帖子)
  • reduce (Python,Clojure,Common Lisp,Ruby)
  • reduction (APL)
  • foldr,foldl(又名右折和左折)(Haskell,Scheme)
  • inject (Smalltalk,Ruby,Groovy)
  • #inject:into (短暂聊天)
  • Aggregate (LINQ)
  • accumulate(维基百科)
  • compress(维基百科)
  • insertion (FP)
  • Insert (J)

感谢大家的帮助,如果有人带来更好的清单,我会确保接受那个!