【发布时间】:2016-02-22 11:18:20
【问题描述】:
标题说明了一切。我看到有些人显然使用Data.Conduit.List.map id 作为身份管道,但这是推荐的不变流数据的方式吗?
【问题讨论】:
-
从
Data.Conduit.List.map的实现来看,我会说是的。
标题说明了一切。我看到有些人显然使用Data.Conduit.List.map id 作为身份管道,但这是推荐的不变流数据的方式吗?
【问题讨论】:
Data.Conduit.List.map的实现来看,我会说是的。
编写身份管道的最简单方法可能是:
awaitForever yield
因为这不需要额外的导入。
Data.Conduit.List.map的定义很相似:
mapC f = awaitForever $ yield . f
(mapC和map的区别与定义融合的CPP宏有关。)
启用优化 (-O1) 时,似乎两个选项会产生相同的代码,所以这只是个人喜好问题。
【讨论】:
idC = awaitForever yield 被添加到库中会很酷。也许我会为此创建一个 PR。