2007/8/7, Keith Hodges <[EMAIL PROTECTED]>: > > > I will be interested in seeing how you address mutual compatibility of > > packages. If package A wants Monticello 1, and package B wants > > Monticello 2, and we assume these Monticello's are incompatible, then > > A and B are also incompatible. How do you think to address this > > issue? > > > > > If you are talking about Monticello1 and Monticello2 they are completely > independent entities. So there should be no problem. > > If you are talking about the 5 flavours of monticello 1.0 being A, and > monticello 1.5 ;-) being B. > > A: any of > > 1. avi 231 (squeakmap latest I think) > 2. wiresource latest > 3. impara's version > 4. 3.9 version md.308 > 5. ralphs 3.10 version > > B: Monticello 1.5 > > Monticello 1.5 is the superset of all of the above combining all of the > fixes/improvements I could find from all of these sources. 1.5 also has > thought about the backwards compatibility and future expandability of > the binary file format whereas non of the above did and so they become > incompatible with each other as soon as their authors added an inst var > to any subclass of MCDefinition. > > MC 1.5 (optionally) ties the binary file format down to the original 1.0 > format no matter what extensions are added. The exception being that if > traits are used then MC 1.5 goes along with the extra instvars needed to > support them. Non-trait aware MC's cant handle packages containing > traits. MC1.5 can and in theory can load and save definitions from MC's > which have instvars and class defn's that it doesn't even know about yet. > > MC1.5 leaves MCPackageLoader in place so as to enable it to be loaded on > top of as many of the A's as possible. New loaders are implemented as > MCPackageLoader1b and MCPackageLoader2 respectively. The later supports > atomic loading via SystemEditor, and some other nice features as well, > but this is not enabled yet. > > MC in 3.10 changes MCPackageLoader in such a way as to ensure that you > cant use monticello to load any of the other monticello implementations > over the top. I do not think that loading MC3.10 over the top of any > other MC using monticello itself will work. This was a mistake I too > made in the earlier versions and it is a nightmare waiting to happen, it > makes future changes to monticello via monticello very difficult. > > Packages saved in MC in 3.10 do load into 3.9, but I wouldnt expect them > to load into a non-trait aware monticello, i.e. 3.8/3.7 etc. e.g. > avi.231 However packages saved in MC1.5 should load with all, unless > traits are used in which case a trait aware MC is needed. (I am > repeating myself) > > so in summary... to make A and B compatible, B makes an effort to be a > superset of all and as friendly to all as possible.
Thank you for your work Keith. As soon as the Squeak DVD is done, I start putting your MC1.5 into squeak-dev images. -- Damien Cassou _______________________________________________ V3dot10 mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/v3dot10
