Hi there,



A 4MB heap does not suffice for the following (artificial)
program. Given the nature of the program this seems to have
been caused by a (perhaps already known) space leak.


> module Main( main ) where

> big :: Integer
> big = 100

> f :: Integer -> Integer -> Integer
> f x y = x^big + y^big

> main = putStr str >>
>        putStr "\n" >>
>        return ()
>      where str = show [f x y | x <- [1..big], y <- [1..big]]

I was trying this program to see if there was much difference
in execution time if the last line of this program was changed to

>      where str = (show.concat)
>                  [let fx = f x in [fx y | y <- [1..big]] | x <- [1..big]]



Hope this helps.


Regards,

Marc van Dongen

Reply via email to