Ah, indeed, I saw the recursive `T.appends`, and then noticed appending in ghci, and was off and running ... But it is in fact just a little reshuffling where we have part of the matching text, here "\n\n". For the general `breakOnText` the biggest text in memory would I guess be the length of the text we are matching minus 1 plus the length of the biggest incoming chunk? Do you have the more general `breakOnText` written? I think it should be pretty simple to write the corresponding `splitOnText` as well. I haven't tried it in a while, but I remember there being an unpleasant but straightforward procedures for going about it; maybe something new will come up here though. They are highly desirable functions, I would think. A general pipes `splitOn` like this on would have a signature like `[a] -> Producer a m r -> FreeT (Producer a m) m r` on the model of the `splitOn` in `Data.List.Split`; or rather, again, the corresponding lens.
-- 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.