[Haskell-cafe] Stack Space Overflow.
John T Davis
endymion84 at mac.com
Sun Mar 18 17:20:31 EDT 2007
oHello,
I'm writing a simulation of a game of Nim with genetic programming.
I've run into a stack space overflow problem with one of my functions
(part of a class instance), which I've included below.
crossover_mutate enp = enp { progPop = ansPop,
numProgs = (numProgs enp) +
(crossNum enp)}
where
crossResult = crossNimPlayerPop (progPop enp) (seed enp)
(theBoard enp) (numProgs enp) (crossNum enp)
mutateResult = mutateNimPlayerPop crossResult (mutateRatio enp)
popParts = crossResult ++ mutateResult
newPop = Set.toAscList (Set.fromList popParts)
ansPop = tournament (newPop, newPop) (theBoard enp)
Now, here's where it gets weird. I've got test data that I've run
all the constituent functions (crossNimPlayerPop, mutateNimPlayerPop,
tournament) on, and they all work as they should. Now, when I run
the same data on crossover_mutate, I get the aforementioned stack
space overflow. I'm totally stumped on this... I've even run the
equivalent of ansPop on the command line, and despite how truly
unreadable the code is in that format, it runs fine.
Any suggestions or thoughts would be greatly appreciated. Have a
nice day. :-)
Thank you,
John T Davis
More information about the Haskell-Cafe
mailing list