[Haskell-cafe] Abstracting ByteStrings

Henning Thielemann lemming at henning-thielemann.de
Wed Jan 23 02:16:11 EST 2008


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?


More information about the Haskell-Cafe mailing list