@Luke Tomlin Can you give a few example cases with input and output? That should make it easier to pin down the functionality you are looking for.
For instance it is not clear if you need it to be a pipe(accum :: Pipe a [a] m r) or if it can be a function on a Producer a m r. accum as a function on a producer would be: accum :: Monad m => Producer a m () -> Producer [a] m () accum p = (P.toListM (hoist lift p)) >>= yield warning hand simplified type signature. On Mon, Jan 6, 2014 at 5:13 AM, Luke Tomlin <[email protected]> wrote: > Kinda, but how can I use that in a way that continues to be pipe-like? > > Eg. if I have > > prod :: Producer a m () > > accum :: Pipe a [a] m r > groupConsumer :: Consumer [a] m r > > can I do: > runEffect $ prod >-> accum >-> groupConsumer > > using toListM? > > > On Monday, 6 January 2014 06:52:20 UTC, Gabriel Gonzalez wrote: > >> Is `Pipes.Prelude.toListM` what you want? >> >> Pipes.Prelude.toListM :: (Monad m) => Producer a m () -> m [a] >> >> On 01/06/2014 06:07 AM, Luke Tomlin wrote: >> > Hello, >> > >> > I'm a newbie to pipes, and I'm having a little trouble. >> > >> > I would like to accumulate all of the 'produce' from a producer into a >> > list, and then yield this new list onwards. I know that my producer >> > will produce a finite amount of items! >> > >> > Eg. something like: >> > >> > accum :: Pipe a [a] m r >> > >> > Apologies if the solution is really obvious and I'm just being dense! >> > >> > Thanks, >> > >> > Luke >> > -- >> > 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]. > -- Patrick Wheeler [email protected] [email protected] [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].
