Have I re-invented the wheel yet again?

I have a module the following simple functions,
that I have been using for some time:

-- Read data from the system random device.
-- Return Nothing if there is currently not
-- enough entropy in the system random device.
devRandom :: Storable a => IO (Maybe a)

-- Read data from the system random device.
-- If necessary, wait until there is
-- enough entropy in the system random device.
devRandomWait :: Storable a => IO a

-- Read data from the system random device.
-- If there is currently not enough entropy
-- in the system random device, use a lower
-- quality source of randomness instead.
devURandom :: Storable a => IO a

These are currently implemented only for
platforms that have a /dev/random and
/dev/urandom device, i.e., Unix-like.

I know how to implement the third function -
devURandom - on Windows, but I don't
currently have a Windows box on which
I can compile Haskell. I don't know how
to implement the other two functions on
Windows.

This seems like something that is important
to be in the standard library, or at least publicly
accessible. Is it out there already and I am
just missing it? If not, what is the best way
to make this available?

Is there someone who would like to do
the Windows part?

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

Reply via email to