Nic*_*son 9 language-agnostic programming-languages functional-programming fold
通常称为高阶函数reduce
在各种语言中具有许多同义词.
在我的脑海中,我可以想到:
foldr
,foldl
(又名右折和左折)(Haskell)inject
(Smalltalk,Ruby,Groovy)Aggregate
(LINQ)accumulate
(维基百科)compress
(维基百科)是否有这个功能的所有不同名称的综合列表?如果没有,让我们在这里做一个.知道这将是有用的.
我对从每种语言中获取库函数名称不太感兴趣,我正在寻找更多的口语,"如何在句子中使用"类型引用.
您可能会注意到,一般来说,这个概念被称为catamorphism. 来自维基百科,或者可爱的文章功能编程与香蕉,镜头,信封和铁丝网.
来自" 关于折叠的普遍性和表现力的教程 ":
折叠算子起源于递归理论(Kleene,1952),而折叠作为编程语言的中心概念可以追溯到APL 的简化算子(Iverson,1962),后来又归入FP 的插入算子. (巴克斯,1978年).