Please have a look at this page: http://www.zvon.org/other/haskell/Outputrandom/getStdRandom_f.html
It gives the correct signature for drawInt as you defined it: Int -> Int -> IO Int
The signature you gave doesn't work because it specifies a pure function - for the same set of arguments, it must always produce the same result.
How many ints do you want to generate? I don't think it is possible to generate an infinite lazy list in this case because this interferes with monad semantics. If you want a fixed number of random ints, try this:
drawInts :: Int -> Int -> Int -> IO [Int] drawInts num x y = sequence (replicate num (getStdRandom (randomR (x,y))))
-Stefan
Gwoing Yu wrote:
Hi,
I need some assistances in calling random number generator using 6.0.1 haskell compiler. To return a list of random int [Int], I have tried the following:
drawInt :: Int->Int -> [Int]
drawInt x y = getStdRandom (randomRs (x,y))
It has a type error. I would appreciate if you know how to fix it.
Thank you in advance.
Tina Yu
http://www.improvise.ws <http://www.improvise.ws/>
_______________________________________________ Glasgow-haskell-users mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
