Thomas Davie writes, commenting my statement that one does need any
'stateful' (monadic, etc.) RN generator initializer within the program,
since you can always pass a parameter during its launching.


While I agree that it is often useful to start your program with different parameters each time to seed the random number generator, I would argue that this is often inappropriate - supposing we are writing a very simple program to roll a virtual dice. If the user finds one input that rolls a six, they can then use this repeatedly. Reading an initialisation file is back to the situation of using IO to generate our seed.

I believe there is no conflict between us, I agree with you. But the
difference betwen us is that I do think rather about serious usages of RN,
not about contrived examples. I think that if somebody faced a purely
functional program to roll a virtual dice, there would be a good deal
of sheer madness involved, either the conceptor/implementor madness, or
the user's, or both. Haskell is not for *that* kind of problems.


I used Haskell and Clean to do some Monte-Carlo, or to generate sound
using random algorithms (say, Karplus-Strong string initialized by a white
noise). I generated random fractals, etc. It didn't cost me anything to
put different initializations by hand on every run when I wanted to have
different behaviour. But it was MUCH more important to repeat the same
sequence, e.g., after making fast some nice fractal sketch, I relaunched
the program with bigger size/precision, but exploiting the same random
sequence. I repeat, such is my philosophy. Yours is easier, since you are
just discussing, most probably you never used RN for a serious work. If
I am wrong, I apologize.



Jerzy K.



_______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell

Reply via email to