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.

Reply via email to