[Haskell-cafe] random question
bos at serpentine.com
Wed Oct 7 17:25:10 EDT 2009
On Wed, Oct 7, 2009 at 1:59 PM, Michael Mossey <mpm at alumni.caltech.edu>wrote:
> My thread about randomness got hijacked so I need to restate my remaining
> question here. Is it acceptable to write pure routines that use but do not
> return generators, and then call several of them from an IO monad with a
> generator obtained by several calls to newStdGen?
> shuffle :: RandomGen g => g -> [a] -> [a]
> shuffle = ...
> foo :: [a] -> [a] -> IO ()
> foo xs ys = do
> g1 <- newStdGen
> print $ shuffle g1 xs
> g2 <- newStdGen
> print $ shuffle g2 ys
> Does this kind of thing exhibit good pseudorandomness?
If you believe in the safety of the split operation (which I don't), then
yes, since use of it is what's happening behind the scenes. In other words,
provided you're a faithful sort and split doesn't make you squirm too much,
you don't need to plug all that ugly IO in there.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe