Say I have a `Pipes a b m r` called 'p'. How do I convert it to a `Pipes (ZipList a) (ZipList b) m r`? That is, I want to apply the pipe 'p' and apply zip-wise to an input ziplist, without losing the state of each pipe in the ziplist.
The reason I want this, is that I want to run multiple attoparsec parsers in parallel in one pass of a file. My approach for this is to use Control.Foldl to combine the attoparsec parsers into a `Control.Foldl.Fold ByteString [PartialParseResult]`, then convert it (using Control.Foldl.purely Pipes.Prelude.scan) to a `Pipe ByteString [PartialParseResult]` My other requirement is that I want to look at intermediate parser output (eg. each line of a file as it's parsed), in order to summarise each line, in a stateful way as I'm keeping track of the current line number. My approach for this is to use Control.Foldl.Fold for the summary logic, and then convert it to a pipe. I am able to create a `Pipe PartialParseResult AnalysisResult m r` for this. However, how do I connect a `Pipe ByteString [PartialParseResult] m r` to a `Pipe PartialParseResult AnalysisResult m r`? Regards, Louis -- You received this message because you are subscribed to the Google Groups "Haskell Pipes" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected].
