In article <slrnb5igmo.be4.qrczak / qrnik.zagroda>, qrczak / knm.org.pl says... > Sun, 23 Feb 2003 21:46:56 +0900, Michael Bruschkewitz <brusch2 / gmx.net> pisze: > > def fu h, key, o > > e = h[key] > > e.val = f1(o) > > e.val2 = f2(o) > > end > > Almost all languages work that way, I'm surprised that people have > problems with this. Only C, C++, Pascal and in part Perl are different > (they have mutable objects passed by value). The problem is the following (not mine): If the above function (which was an example of the core problem) is taken generic, if modifications are done by a proc passed as forth parameter, you'll need an extra line h[key] = e at the end to make this "algorithm" work for Integers too. So, as this example shows, it would be useful for generic programming, when all types are handled the same way. I don't want to argue about that and I don't have the time now to dig deeper into this domain, so let alone the current behavior. It is, at least, too late to change such basic issues. Michael B.