[squeak-dev] Re: immutibility

Chris Muller asqueaker at gmail.com
Thu Mar 18 01:35:01 UTC 2010

This is where I start to get confused.  If "immutable" is a global
attribute of each object, wouldn't there need to tend to need to be
only one universal user of the bit at a time?  Otherwise, the database
might be setting the bit on an object for it's purposes, but for which
the [your other favorite framework] in having its own purposes for the
bit, might not want it set at that time...?

I am of course, wondering about my own context.  In thinking about the
purposes of an ODBMS, one of the chief beneciary's of this type of
change, it could help Magma immensely.  But then Magma would have to
impose on the user/application that, "the immutable bit belongs to
Magma, don't use it or mess with it, ok?  I need it..."  But the
feature is not there today, so at least legacy applications would
enjoy the performance boost..

On Wed, Mar 17, 2010 at 1:26 PM, Casey Ransberger
<ron.spengler at gmail.com> wrote:
> I've been thinking about immutability in Squeak too! And hell yeah
> it's bigger than databases.
>  - makes concurrency painless
>  - improves testability
>  - allows certain compiler optimizations that aren't possible when
> there's mutable state
>  - makes certain things formally provable that aren't when there's mutable state
> I think these are all great reasons to experiment with. I'd like to
> assert though: immutability should be introduced in a way that's
> optional, and doesn't introduce any new syntax.
> I'd like to ask an object #isMutable and be able to do certain things
> differently if it answers false. Mutable objects are ones that have
> state that can change.
> Randal: FWIW, I think the Newspeak guys are playing with this stuff.
> On Wednesday, March 17, 2010, Stephen Pair <stephen at pairhome.net> wrote:
>> On Wed, Mar 17, 2010 at 12:27 PM, Bert Freudenberg <bert at freudenbergs.de> wrote:
>> On 17.03.2010, at 17:12, Chris Cunnington wrote:
>>> Databases are for peasants. We are unique and occupy a unique position. Let's embrace that. Stop trying to turn us into shadows of Gemstone, Cimcom, or other merchants of tedium. If Kent Beck isn't happy with Squeak, I don't see it as our job to cater.
>>> There is nothing else on earth like us and what we do.
>>> Squeak is a never ending game of capture the flag.
>>> Chris
>> And even if it *was* only for databases it wouldn't hurt to support it in Squeak. It takes nothing away from the fun.
>> And it's not only about databases.  I would be interested in immutability implementations that go beyond what VW does.  I would like to see some thought given to deep immutability and irrevocable immutability (irrevocable at least at some language layer).  These facilities would be immensely useful for safely and efficiently sharing and replicating state between processes.
>> - Stephen
> --
> Casey Ransberger

More information about the Squeak-dev mailing list