“这个功能融合”是什么意思?

时间:2011-05-17 20:59:55

标签: haskell terminology

scanl的文档说“此功能会融合”。 fuse 到底意味着什么?这不好吗?

3 个答案:

答案 0 :(得分:13)

http://www.haskell.org/haskellwiki/Short_cut_fusion

(以及更多信息:http://www.haskell.org/haskellwiki/Correctness_of_short_cut_fusion

如果一个功能融合,这是一件好事。这意味着一系列函数可以合并为一个函数,这意味着更少的分配,更少的堆栈和更快的速度!真棒!

这是一个微不足道的融合:map f . map g ----> map (f . g)

如上所述,还有许多其他标准库的规则也适用。

答案 1 :(得分:3)

它有点像协同程序 - 如果你编写两个函数,它们可以在融合流上执行,而不是首先完全“评估”,然后是第二个。

What is Haskell's Stream Fusion

答案 2 :(得分:2)

我认为它指的是流融合优化技术,并声明它们可以应用于该功能。实质上,如果您有两个转换序列的函数,优化器会将转换合并在一起,因此只需要一次遍历。

简而言之,不,这不错。恰恰相反!