Proposal: Move 'split' into a separate class in System.Random

Isaac Dupree ml at
Tue Sep 14 23:44:05 EDT 2010

On 09/14/10 19:44, Thomas DuBuisson wrote:
> The "split" routine in the RandomGen seems to be a sore spot for some
> people and is perceived to have few users (even as a percentage of
> RandomGen users).

I use "split" all the time, because it makes it feasible to use random 
numbers in purely functional code (and avoid threading randomness around 
in directions that it totally doesn't belong).

I'm curious, who are the people you mentioned who dislike "split", and 
who are the people perceiving "split" to have few users?  If these 
people can be part of the conversation, it might be more productive.

(Because I'm so far biased in favor of keeping "split" as-is...)

(Well there is the reason to be dubious, that no one currently knows 
"split"s actual mathematical properties and we just assume it produces 
sufficiently independent generators in StdGen or any other studied 
generator... Not enough of a reason to stop *me* from using "split" so 
far. And not really a reason to kick "split" out of the class because a 
bad implementation, if you don't use it, is harmless...)

(Oh now I see Ivan mentions existing PRNGs that don't (can't?) support 
split... that may be a reasonable argument; I'll have to think about it; 
is this the main motivation? or just one observation among many?)


More information about the Libraries mailing list