I've came upon very a strange situation with memory consumption. The
smallest test case I've been able to come up with is the following:

import Data.List

wtf d = head . dropWhile (< 10^100) . map (*d) $ enumFrom 2

main = do
    print $ wtf 1
    print $ wtf 2 -- Everything is ok without this line

Expected result is that program runs in constant space. What really
happening is that the program consumes memory until killed.
If second call to wtf is removed, memory usage stays constant while the
program is working.

The problem is in that list returned from enumFrom is being saved between
calls to wtf.

Is there any way to overcome this?

--
Regards,
Petr
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to