Reputation: 7599
The title says it all. I've seen that some people apparently use Data.Conduit.List.map id
as identity conduit, but is this the recommended way to stream data unchanged?
Upvotes: 7
Views: 313
Reputation: 3316
The simplest way to write an identity conduit is probably:
awaitForever yield
because this doesn't require an extra import.
The definition of Data.Conduit.List.map
is very similar:
mapC f = awaitForever $ yield . f
(The difference between mapC
and map
has something to do with CPP macros to define fusion.)
When optimization is on (-O1
), it appears both options result in identical code, so it's just a matter of taste.
Upvotes: 7