在不减少尺寸数量的情况下使用折叠是否可以?

时间:2013-11-26 09:40:25

标签: types functional-programming dimensions fold

例如,有人想使用Fold函数来实现unique(或DeleteDuplicates)函数,该函数接受1维数组并返回相同但更短的数组。我反对它,但我无法在任何维基百科中找到证据,为什么这是一个不好的做法。

1 个答案:

答案 0 :(得分:0)

如果你看看各种Haskell折叠的the types

foldr :: (a -> b -> b) -> b -> [a] -> b

foldl :: (b -> a -> b) -> b -> [a] -> b

你可以清楚地看到这样的事情完全合法 - 只需用[a]代替b

事实上,在这些类型中使用的core libraries折叠中有几个例子。甚至有一些例子,使用折叠来增加“维数”。

你为什么反对?