[squeak-dev] Re: immutibility

Bert Freudenberg bert at freudenbergs.de
Thu Mar 18 15:23:34 UTC 2010


On 18.03.2010, at 15:51, Colin Putney wrote:
> 
> 
> On 2010-03-18, at 5:39 AM, Bert Freudenberg wrote:
> 
>> HO there should be no way to reset the immutable flag. You can implement "soft" immutability in the image, but "hard" VM-level immutability needs to be permanent, no fiddling possible. Once set, the object stays immutable. Only a copy of an immutable object will be mutable again.
> 
> This would be good for some use cases - literals, for example, but not so good for others. One of the common uses of "immutability" is not so much to *prevent* mutation, as to control it: databases, concurrency etc. Do you have another feature in mind for these cases, or some overriding interest in immutable immutability that you want to pursue?
> 
> Colin


Seems to me like two separate issues - one being informed of modifications, and one preventing modifications. Immutability to me means the latter. The former is more like a write barrier.

With true immutables you can start developing in a mixed object/functional style, which would allow interesting optimizations, e.g. for concurrency, memoization etc.

- Bert -




More information about the Squeak-dev mailing list