mapM/concatMapM
Joe English
jenglish@flightlab.com
Wed, 18 Oct 2000 19:03:05 -0700
senganb@ia.nsc.com (Sengan Baring-Gould) wrote:
> mapM seems to be a memory hog (and thus also concatMapM).
> In the following eg:
>
> > main = mapM print ([1..102400] :: [Integer])
>
> memory usage climbs to 1.6M with ghc and needs -K20M
As a guess: since 'mapM print ([1..102400] :: [Integer])'
has type 'IO [()]', perhaps the result of the IO operation --
a list of 100K empty tuples -- is the culprit, even though
the result is never used.
Does 'mapM_ print ... ' (:: IO ()) perform any better?
--Joe English
jenglish@flightlab.com