Hello Phlex, Sunday, June 3, 2007, 11:41:29 AM, you wrote: > That's precisely the thing i don't understand. > In order to update node 3 with a new pointer, i need to mutate it, so i > need to recreate it, and so on up to node 1.
yes, that's true > Now in this exemple, it's ok since that's a regular tree and the process > can be automated, but when each node has a different type, it can become > quite hairy. may be all that you need is structure update syntax? data Planet = Planet { age :: Double , weight :: Double ..... } updatePlanet p = p {age=(age p)*2} the same applies to updating nested structures. you just return updated structure on each level of processing -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe