
30 Oct
2015
30 Oct
'15
2:43 p.m.
Hello all When I read: mkStdGen :: Int -> StdGen The function mkStdGen provides an alternative way of producing an initial generator, by mapping an Int into a generator. Again, distinct arguments should be likely to produce distinct generators. I thought, that
fst $ R.randomR (1,10) (R.mkStdGen s)
should get me a random value between 1 and 10 and that I get different values depending on the seed s. But this
length $ filter even $ map (\s -> fst $ randomR (1::Int,10) (mkStdGen s))[1..1000]
gives my 1000, i.e. all random numbers are even numbers. However, when I use random instead of randomR
length $ filter even $ map (\s -> fst $ random (mkStdGen s) ::Int)[1..1000]
I get 499 (okay) Why is that so?