
On Tue, 22 Jan 2008, Chad Scherrer wrote:
A lazy ByteString is an alternative to a String=[Char], where sacrificing some degree of laziness through "chunks" gives much greater performance in many applications. If I remember correctly, we could as well create an IntString, DoubleString, etc by filling the chunk arrays with different types.
Now, this might only work for primitive types, but couldn't we extend it by taking a similar approach to NDP? For example, if we have (lazy) ByteString = [Chunk Char], then we could represent, say [Chunk (a,b)] as ([Chunk a], [Chunk b]), etc
Given a reasonable Storable instance of pairs you could use: http://code.haskell.org/~sjanssen/storablevector
Is this reasonable? Do you think it would work? Or is all of this subsumed by fusion anyway?