I used 'loggerFold' where I wanted to use my simple ` blockAlertFoldM` so the last several lines of code should be
> > then we have, e.g. > > foldBlocksWithAlert :: BlockState -> Producer Block IO () -> IO > (Either String BlockState) > foldBlocksWithAlert initialBlockState = > Control.Foldl.impurely Pipes.Prelude.foldM (generalize (blockFold > initialBlockState) <* blockAlertFoldM) > > > and could start throwing in other components > > > foldBlocksWithAlertAndLength :: BlockState -> Producer Block IO () -> > IO (Int, Either String BlockState) > foldBlocksWithAlertAndLengh initialBlockState = Control.Foldl.impurely > Pipes.Prelude.foldM myfolds where > myfolds = generalize mypurefolds <* blockAlertFoldM > mypurefolds = liftA2 (,) Control.Foldl.length (blockFold > initialBlockState) > or something like that. -- 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 haskell-pipes+unsubscr...@googlegroups.com. To post to this group, send email to haskell-pipes@googlegroups.com.