
On Mon, Apr 7, 2014 at 2:25 PM, Nick Smallbone
harry
writes: Nick Smallbone-2 wrote
I would rather not switch back to StdGen. We have stumbled into situations in the past where we can't falsify a property just because StdGen can't come up with the right random values - while (thankfully) extremely rare, it makes me uncomfortable that it happens at all. This mostly happens when generating random functions.
Is StdGen so badly broken that it can't be fixed in a future version?
The implementation of split is pretty broken. I suppose most people don't need split but, unfortunately, QuickCheck uses it heavily (the bind of the Gen monad splits the seed). I don't think anyone knows how to fix it, since there's no obvious reason why the current split should work at all!
Basic question: is the type of split wrong or just the implementation?