
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/
participants (1)
-
paolo veronelli