That's definitely not a message for the bugs list :-)

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

Reply via email to