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?
Is there identity conduit?
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.
It would be cool if
idC = awaitForever yield
were added to the library. Maybe I will create a PR for this. –
Applicant @Mark any news regarding the PR? –
Gully
@SwiftsNamesake, please see github.com/snoyberg/conduit/issues/255 –
Applicant
© 2022 - 2024 — McMap. All rights reserved.
Data.Conduit.List.map
implementation, i'd say yes. – Twentyfour