[Haskell-cafe] Hangman game

Derek Elkins derek.a.elkins at gmail.com
Mon Jan 21 17:54:51 EST 2008


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.



More information about the Haskell-Cafe mailing list