[Haskell-cafe] why is Random in System?

Ryan Newton rrnewton at gmail.com
Wed Aug 17 21:27:14 CEST 2011

> The more fundamental problem is that splitting is neither well understood
> nor generally safe, and as such it should not be in the basic Random class.

Would you mind elaborating?  Splitting was not well-understood by the
original authors of System.Random; that much is in the comments.  Nor is it
well understood by me.  But I am under the impression that it is well
understood by Burton Smith and others who have worked on the topic, and that
they assure us that using AES, RNG's under any series of splits are as
strong as those generated in a linear sequence.  (And if you show otherwise,
you have a crypto paper and quite a name for yourself.)

> And I think we need splitting, especially as more Haskell programs become
>> parallel.
> I do not agree here, I'm afraid.

Could you expound on this also?  The people I know in the parallelism
community seem to care a lot about deterministic PRNG in parallel programs.
 For example, the Cilk folks at MIT and Intel who I work with are *modifying
their runtime system *just to get deterministic parallel PRNG.

For example our in our "Monad Par" package splittable RNG will allow us to
add a variant of the monad that provides randomness and transparently routes
the state through the "forks" in the parallel computation, retaining the
model's determinism.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110817/9d3a543c/attachment-0001.htm>

More information about the Haskell-Cafe mailing list