Is there any particular reason that some form of fusion (either foldr/build or full stream fusion) is not implemented for this module? It might even be useful to use Vector-style bundles so mutation and C functions (memcpy et al.) can be used where appropriate.
I'm willing to work on this if it's considered a worthwhile feature.
The text was updated successfully, but these errors were encountered:
We originally developed stream fusion in the context of bytestring and lazy bytestring, but in practice I think it's not a good fit for either ByteString or Text, but is for Vector, simply because in practice given what you use ByteString and Text text for there are not many opportunities to fuse things profitably, and there's lots of opportunity to mess things up and make things go slower (I can point out example where Text goes asymptotically slower when things are allowed to fuse).
So basically, no, we thought about it, even implemented it, and it's a bad idea :-)