William Lee Irwin III <[EMAIL PROTECTED]> writes: >> Actually, I've been wondering about this. If my understanding is >> correct, Haskell lists are basicly singly-linked lists of cons cells (is >> that correct?) A simple (I think) thing to do would be to make the >> lists doubly-linked and circular.
Uh, I think one of the main problems with the usual IO functions is that it adds the overhead of cons cells and optionally 32bit chars (although I think GHC packs them for char values <256) - when you really want an (unboxed) array of Word8. >> BTW can you give some references to these known techniques? > Ugh, lousy cache properties... try rank-ordered B+ trees. There are > probably better choices than that even. It's probably best Simon point > us to references to what's actually useful here. I'm as dumb as anybody, but it seems to me that one could read a lazy chain (list) of buffers as UArray Int Word8, and tack a list-type interface (head, tail, cons...) interface on top. -kzm -- If I haven't seen further, it is by standing in the footprints of giants _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe