[squeak-dev] Re: immutibility
siguctua at gmail.com
Thu Mar 18 03:45:59 UTC 2010
On 18 March 2010 03:35, Chris Muller <asqueaker at gmail.com> wrote:
> 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...?
Good point. Really, what you would do, if you having two frameworks,
sharing same object,
and both want to use (set/reset) immutable bit for own purposes?
This creates a conflict.
> 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.
>>> 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
Igor Stasenko AKA sig.
More information about the Squeak-dev