On Tue, 2008-01-22 at 01:41 +0200, Yitzchak Gale wrote: > I wrote: > >> Generating an infinite list from a random generator "burns up" > >> the generator, making it unusable for any further calculations. > > Jake McArthur wrote: > > That's what the split function is for. ^_^ > > Yes, that is a nice approach. I have been avoiding it due to > the following comment in the docs for System.Random: > > "This is very useful in functional programs... but very little > work has been done on statistically robust implementations > of split ([System.Random#Burton, System.Random#Hellekalek] > are the only examples we know of)." > > And my own experience has been that cases where I need split > tend to be in a state monad anyway, where there isn't any > real advantage to split. > > That said, looking around briefly, I came up with this paper > by L'Ecuyer et al that does seem to describe a decent > random generator with properties of split worked out: > > http://citeseer.ist.psu.edu/493863.html > > L'Ecuyer's implementations in C, C++ and Java are here: > > http://www.iro.umontreal.ca/~lecuyer/myftp/streams00/ > > If we had something like that in Haskell, I might use > split more often.
According to the documentation http://www.haskell.org/ghc/docs/latest/html/libraries/random/System-Random.html That -is- what we have. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe