Hello to all Haskell experts!<br>I have two more beginner questions: I ran into texts mentioning types of &quot;mutable&quot; data.<br>Does that mean the data is actually changed in place? How would I go about implementing such a data type,<br>
as I expect much higher performance in some applications? Do I do that with the Foreign module and Ptr<br>types?<br><br>The second question is this: say I have some functions working with a data type, say a graph.<br>Some of them might want to change the graph and return a new graph as a result.<br>
If they change say only one graph node, it would be extremely bad for performance if the whole graph got copied<br>any time such a change takes place. Is the compiler smart enough to make the code only copy the parts<br>that have changed (copying lazily, so to speak)? Is that even possible?<br>
<br>Thank you in advance for any hint!<br>Christian<br><br>