[Vm-dev] Re: Immutability, newspeak

Colin Putney cputney at wiresong.ca
Thu Jun 10 03:27:08 UTC 2010


On 2010-06-09, at 3:27 PM, Andreas Raab wrote:

> But in what applications? I suspect that the answer is "object databases, object databases, and ... err ... object databases" ;-)

Well, let's say out-of-image persistence in general. That includes object databases, O/R mapping frameworks, document databases, and command journals. A few years ago, when Seaside 2 started to take off, there was a flurry of persistence schemes written for use with Seaside. See the wiki pages about the options, for example:

http://wiki.squeak.org/squeak/3582
http://wiki.squeak.org/squeak/512

None of them have been terribly successful, and Seaside apps tend to get by with persistence schemes that aren't great, but work well enough for that particular app. It's a real problem, and we've gone years without a good solution.

Would an immutability bit solve this mess? I don't know. One thing I do know is that any scheme for persisting objects outside an image is really freakin' hard without a good write barrier. 

Maybe persistence *is* the only practical application of immutability. But if so, it's an important one. Seaside may be drawing new users to Smalltalk, but Squeak is the only platform without a good story on persistence. Gemstone has persistence down to a fine art. VW isn't as sexy, but it has solid connectivity to RDBMs and Gemstone, immutability, and Glorp. Squeak has nothing, or nearly so.

Colin


More information about the Vm-dev mailing list