On Wed, Aug 17, 2011 at 11:10 AM, Ryan Newton <rrnew...@gmail.com> wrote:
> The problem with Mersenne twister is that it doesn't split well. The main > reason for crypto prng in this package would not be to advertise to people > that "System.Random can be used for security-related apps" *but to make > splitting reasonably safe*. 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. A more sensible API would have a Random class that lacks a split operation, and a SplittableRandom class that permits it, as you mention later in your message. Most current PRNGs could then be instances of Random, but not SplittableRandom. And I think we need splitting, especially as more Haskell programs become > parallel. I do not agree here, I'm afraid. By the way, my mwc-random package is at least as fast as mersenne-twister, has smaller state, and is pure Haskell.
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe