Something similar would be useful as a response body for your recent Pipes HTTP library POC, wherein the result is not wrapped inside the `withXXX` idiom.
This seems to involve pipes-safe - would a hypothetical `ResumableProducer` be possible? On Fri, Jan 31, 2014 at 9:55 AM, Gabriel Gonzalez <[email protected]>wrote: > Oops, two more mistakes: > > It's `toParser_`, not `toParser'`. > > Also, `maxLines` still has a mistake because it doesn't re-yield the > newline byte. Maybe I should provide a `line` lens that includes the > newline byte for simplicity. Anyway, it's a digression from the discussion. > > > On 01/31/2014 03:49 PM, Gabriel Gonzalez wrote: > > Alright, so I added two utilities to `pipes-parse` for converting > `Consumer`s to `Parser`s: > > toParser :: Monad m => Consumer (Maybe a) m r -> Parser a m r > > toParser' :: Monad m => Consumer a m X -> Parser a m () > > These cover most common cases with good efficiency. > > Also, I noticed there was a slight mistake in my example implementation of > `maxLines` because it was not consuming the newline byte. The correct > version is this: > > maxLines n = iso (cut n) join > where > cut 0 p = return p > cut n p = do > p' <- p ^. PB.line > p'' <- lift (execStateT PB.drawByte p') -- Drain newline byte > cut (n - 1) p'' > -- > 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]. > > > -- > 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]. > -- 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].
