Ok Crypt Master give the hint to pronounce something ,because I feel a complete stupid in front of Functional Programming' though I'm a trained imperative one.
I've read the nice paper www.cs.chalmers.se/~rjmh/Papers/whyfp.html and remember may years ago the hard job done to make my chess engine work ,but that was imperative C that's why it was hard ,isn't it?
John Huges say the way for trees is
data Albero position=Foglia position |Ramo position [Albero position]
This is like Quantum-Mechanics for my head but it works ,I've tried.
figliatore creatore (Foglia position) = Ramo position (map (figliatore creatore) (creatore (Foglia Position))
This I don't know how to try it but I'm faithfully blind........
Now I would like to make a change to fit my player,but the wall is too high.
My function 'creatore' in fact would take a list of moves and a starting position as argument, not a nice ready position.
My imperative engine stored leaves with a pointer to their mothers so that it was easy to track the list of moves.
Now maybe I have to change Albero definition in
data Albero move mother=Foglia move mother |Ramo move mother [Albero move mother]
Is this the way?
the road tracker is going to be
pather (Foglia move mother)= if mother==() = () else = (pather madre ):madre
This doesn't compile!!
And I don't write the new 'figliatore' not to insult anyone
Thanks For Comments Paolino
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
_______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe