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 [email protected]. To post to this group, send email to [email protected].
