[Seaside] Monticello 2

Colin Putney cputney at wiresong.ca
Fri Oct 31 06:44:10 UTC 2008


On 30-Oct-08, at 2:11 PM, Matthew Fulmer wrote:

> All in all, I don't see a huge difference between the
> theoretical portability of MC1 and 2. I'd need to know more
> about the format of MC2 packages though
>
> I'm curious why you say this. Please explain.

I think that what Lukas was getting at was that MC2 has been developed  
with portability in mind to a greater extent than was MC1.

For example, a snapshot in MC2 stores program state in property  
dictionaries rather than instances of an MCDefinition subclass, and it  
ignores but preserves any properties it doesn't understand. This means  
that a VW or Gemstone port of MC2 could store dialect-specific  
information in custom properties, and the Squeak version would not  
have to be updated to handle them.

Another example is that the MC2 user interface is based on  
OmniBrowser, which is itself portable, and now runs on 3 Smalltalk  
dialects.

Finally, I've tried to organize the code in MC2 for better  
portability. Some packages are meant to be portable, and others are  
meant to be Squeak-specific. I've tried to keep platform-specific code  
as isolated as possible, largely by following the techniques that  
Lukas and the rest of the Seaside developers have figured out in  
managing Seaside across several dialects.

All this is not to say that MC1 can't be ported - it runs on Gemstone  
after all. But with MC2, portability has been an explicit goal, which  
it never was for MC1.

Colin


More information about the seaside mailing list