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].

Reply via email to