有身份管道吗?

Is there identity conduit?

标题说明了一切。我看到有些人显然使用 Data.Conduit.List.map id 作为身份管道,但这是不改变流式传输数据的推荐方式吗?

编写身份管道的最简单方法可能是:

awaitForever yield

因为这不需要额外导入。

Data.Conduit.List.map的定义非常相似:

mapC f = awaitForever $ yield . f

mapCmap的区别与CPP宏定义融合有关。)

启用优化 (-O1) 时,似乎两个选项都会产生相同的代码,所以这只是个人喜好问题。