Admittedly, I don't know much about this from the haskell end or about the particular api.

If you want statistical randomness, your seed doesn't matter; just the PRNG.  I might even have seeded with a constant or taken the seed from the user.

Seeding from urandom will make your output "more random" for some unquantifiable meaning of the phrase.

If you want cryptographic randomness, you probably shouldn't be writing your own library if you can avoid it.

On Wed, Jan 5, 2011 at 7:21 PM, z_axis <z_axis@163.com> wrote:

picoSec :: IO Integer
picoSec = do
   t <- ctPicosec `liftM` (getClockTime >>= toCalendarTime)
   return t

rollDice ::  Int -> IO Int
rollDice n = do
   ps <- picoSec
   return $ (take 1 $ randomRs (1,n) $ mkStdGen $ fromInteger ps) !! 0

The above code uses `ctPicosec` as seed. Is it better to use the output of
/dev/urandom as seed ?

Sincerely!

-----
e^(π.i) + 1 = 0
--
View this message in context: http://haskell.1045720.n5.nabble.com/What-s-the-best-seed-for-random-API-tp3329807p3329807.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

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



--
          Alex R