Concurrent Clean : CleanJ : GenCompress

GenCompressは、もともとメモリを消費しがちなモジュールだったようです。

Start = test [1 .. 100]
  where
    test x = case uncompress (compress x) of
        Nothing -> False
        Just y -> x === y

というテストがcleanjでStackOverflowになっていたのですが、「test [1 .. 1000]」にしてやると、HeapとStackを拡張してやらないと、cleanでも実行完了できないようになり、「test [1 .. 2000]」にしてやると、Javaのデフォルトスタックサイズである 512KB にスタックを拡張(加えて、最大Heapサイズを 4MB に拡張)してやっても、StackOverflowになりました。
ということで、サイズを小さくして再実行したところ、今度はテストを通るようになりました。