On 08 October 2004 13:36, Robert Dockins wrote:
> BTW can you give some references to these known techniques?
Hmm, well here's some folklorish ideas. I'm sure there are references
for most of these, but I don't know them off hand.
- Have another list constructor that has 2 (or more) elements.
Prelude funnctions can take advantage of this, but the constructor
can magically transform itself into ordinary cons cells when it
is examined by an ordinary pattern match.
- take this further and have list cells with 2 (or more) unboxed
characters, or even a full buffer.
- use space-saving techniques for storing list cells: eg. remove the
tail pointer when cells appear next to each other in the heap,
or have a memory page just for list cells and omit the info
pointers.
Or just improve cache behaviour by trying to store list cells
adjacent in the heap.
Cheers,
Simon
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe