Axel,
...
However, they do not directly solve my problem in the bigger program which still has the same linearly growing memory requirement. The problem seems to be very, very hard to find. I suspect it is related to lazyness as in the gibs example, but I just cannot put my finger on the code that needs to be changed. Is there any good method to track down this kind of problem? (I tried all the ghc memory profiling techniques, that seemed promising to me.)
If your program is in Haskell 98, not using any of the Glasgow extensions, you could also try compiling it for memory profiling under nhc. The nhc heap profiler has some options not available in ghc. Most but not all space problems due to laziness have similar effects across different implementations. Colin R