Actually, that reply Understanding while loop UndedVarError and scope - #19 by Vic was in the context where I argued that:
One mutable object, once it has been mutated, it’s no longer “same” as before.
I meant “same” with respect to intrinsic properties (values) that changed at mutating, not identity (which is preserved, just like I’m still Vic even though this discussion has made me smarter ).
I should yet find time to read the paper you suggest.
For now, I’d say that programmatic indistinguishability (and ===
) is good for judging identity, but not equality (compares values) of mutable objects.
Plus, an object preserves it’s identity, but if mutated it changes in value, so I can’t say it remains equal to itself across time.
LAST EDIT:
in retrospect, I can see how the word “same” is better suitable for talking about identity of an object, not values. English is so ambiguous! So I misunderstood @kristoffer.carlsson with my reply here Understanding while loop UndedVarError and scope - #19 by Vic .