Hello, I am trying to process a huge bunch of large XML files in order to extract some data. For each XML file, a small summary (6 integers) is created which is kept until writing a HTML page displaying the results. The ghc-compiled program behaves as expected: It opens one XML file after the other but does not read a lot. After some 50 files, it bails out due to lack of heap storage. To overcome the problem, I tried to force the program to compute summaries immediately after reading the corresponding XML file. I tried some eager application ($!), some irrefutable pattern, and some strictness flags, but I did not succeed. It seems to me that as long as something is not really used, the implementation cannot be forced to evaluate it completely. I resorted to printing the summary to /dev/null right after reading the XML file. This works fine. Is there a more elegant solution? Thank you. Michael Marte