Fri, 11 Jan 2002 14:29:50 +0000
[Obs: most answers I got end up in my pvt e-mail and not in the mailing
list... I replyed in pvt to those. I do feel it some cases that is probably
accidental as I do it all the time :), and the discussion ends leaving the
mailing list. So i'd just like to let you know that I for one am in favour of
having 'reply' to the mailing list as default :) ]
> > Monads! (right?)
> Well, I suppose so. Generally speaking.
> But, you might want to consider using the standard random generation
> routines from the (IO) top level of your program, and just split the
> random generator for each function that uses it. IOW, passing each
> function its own random generator, instead of worrying about returning
> the "rest" of a global random sequence.
> (I don't have any good example code, I'm afraid, but at leat have a
> look at the chapter on Random in the library report on http://haskell.org)
I did checked the Random library. My first idea was that, but I thought
infinite lists of random numbers would be more elegant, anyway that is
subjective. Both aproches suffer from the same problem, they reflect
themselves on the type signatures. If I decide to try a deterministic
approach to 'selection of individuals', signatures will change.
The problem is more general, it's not just about the random numbers. If I
want keep track of the best individuals, or the average fitness, or the
evolution of some schemata... etc... I'll have to change the type signature.
And this doesn't even changes the 'algorithm behaviour' in anyway...I'm just
talking about keeping track of data.
So my guess is that monads is the only elegant way out of this.