[Haskell] Laziness and the IO Monad (randomness)
haskell2 at davidb.org
Thu Mar 1 13:17:19 EST 2007
Dave Tapley wrote:
> This code show a trivial case where randomness (and hence the IO
> monad) is not used and the first 10 elements of the produced list
> are printed:
You don't need the IO monad to achieve pseudy-randomness. Why not use
'randoms' from System.Random (or 'randomRs' for a range).
take 10 $ (randomRs (1,6) (mkStdGen 1)) :: [Int]
You can use the IO monad to get a randomly seeded generator from the
outside, but once seeded, just use the list.
gen <- newStdGen
take 10 $ (randomRs (1,6) gen) :: [Int]
More information about the Haskell