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?

Thanks,
Mike
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to