
On Wed, 2007-04-18 at 16:17 +0300, Benja Fallenstein wrote:
Hi all,
Is there a way to achieve the effect of soft references in GHC? Or if not, is there any hope that they will be implemented in the future? (Soft references are like weak references, except that they are only reclaimed by the garbage collector if memory is short.)
Oh, and we could do mmap-like things for lazy random IO on (read-only) files. Take a finger tree of strict chunks where each chunk is lazily read in from a span in the file (using unsafeInterleaveIO and seek) but then instead of holding that chunk in memory for evermore (well, at least as long as the whole finger tree is kept alive) if that chunk is not being used any more and only being referenced through the finger tree then when memory is tight we can just forget it and re-read it later if we get asked for it again. This might work with weak references at the moment but 'soft' references would probably suit it better. Duncan