
Gökhan San ha scritto:
Manlio Perillo
writes: The stream generator implements tha RandomGen interface.
This is really cool, though I think 'split' is a must. Maybe all instances could share the same stream in the background, then it wouldn't cause resource issues.
I have thought about this, but is it safe? I feared that this would break referential transparency.
Also, IMHO mkStream should produce an IO Stream (like getStdGen), as current implementation isn't referentially transparent; let the library user decide whether to use unsafePerformIO.
The basic idea is that there is this system wide random number generator, that is always available. That's the reason why mkIOStream is hidden.
3) I have tested the package on Debian Linux Etch, using GHC 6.8.2.
Tested with Gentoo Linux on a 64-bit machine using GHC 6.10.1. On my system, it is less than 2 times slower than StdGen.
Thanks for the report. I have tested against the pure mersenne twister, on my 32 bit system, and it seems to have the same performances. I should check against StdGen, too. Manlio