[Haskell-cafe] Stack overflow in simple code with getStdRandom / randomR (GHC)

Volker Stolz vs at foldr.org
Tue Apr 19 19:07:25 CEST 2011


The following three-liner creates a stack overflow (on my machine, MacOS), and I'm a bit puzzled as to why:

> import System.Random
> 
> main = do
>  mapM (const (getStdRandom (randomR (0, 50000::Int)))) [0..10000000]

botanix:~ stolz$ ./a.out 
Stack space overflow: current size 8388608 bytes.
Use `+RTS -Ksize -RTS' to increase it.

Yes, the list is quite long, but somehow I'd expected mapM to chug slowly along...printing "Hello World" doesn't create a stack overflow either, after all. My Haskell-foo has become a bit rusty, but I was wondering where I am missing a point or two here (and I couldn't find the correct profiler incantation that would give me more than a big black blob for the main-CAF). GHC is 6.12.3 on MacOS.

Cheers,
  Volker


More information about the Haskell-Cafe mailing list