[Haskell-cafe] I just don't get it (data structures and OO)
Phlex at telenet.be
Sun Jun 3 03:41:29 EDT 2007
Donald Bruce Stewart wrote:
>> On the other side, using the functional paradigm, it seems to me that
>> the function i use in order to create a _new_ inhabitant with a
>> different age will need to have knowledge of the country over it, the
>> planet ..and so on up to the universe...as i need to update all these
>> structures to reflect the change. This is pretty bad and most probably
>> doesn't need to be like this.
> Nope, its not done like that. You share as much of the original
> structure as you can, as a general principle.
> Imagine updating a node in a tree by just detaching and reattaching a
>  
> / \ / \
>   update node 5  
> / \ with value 7 / \
>    *
> and share the rest of the structure. Since the rest isn't mutable
> anyway, you can share all over.
> -- Don
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.
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
More information about the Haskell-Cafe