streching storage manager

Saswat Anand
Fri, 28 Sep 2001 17:31:20 +0800 (GMT-8)

  I need some pointers and suggestion in the following problem:

I have a very large time-series data. I need to perform some operation on
that. At any instant of time, I only need a window-full of data, size of
window being known. Starting from the first point, I slide the window
towards right and operate on the data that reside in the current window.

Currently, I read all of the data to arrays which takes a lot of space and
hence GC takes up lot of time.

After reading "Streching Storage Manager: Weak pointers, Stable
names" paper, I had a feeling that I can do something better for my
problem, especially weak pointers seem to be useful. But I do not really
get the thread.

What I would ideally like to do is: read all the data lazily into some
data structure and as I slide the window towards right, I will invalidate
the data that fall before the start point of current window. By
invalidating, I mean I will somehow tell the GC to reclaim that space if
necessary. Is there any way in which I can do this in Haskell, or there is
a better(simpler) solution for this.