We should organize a Sprint :) Cheers, Doru
On 18 May 2011, at 23:01, Stéphane Ducasse wrote: > I'm planning to be at bern the friday 30 of june after tools so I would be > happy to do that. > > Stef > > On May 18, 2011, at 10:31 PM, Toon Verwaest wrote: > >> Nope. That needs to be added. Sorry. If you have tests for the old >> classbuilder we can port them. Otherwise I can take the time at the next >> print I attend to do it; maybe together with somebody else. >> >> Toon >> >> On 05/18/2011 09:38 PM, Stéphane Ducasse wrote: >>> toon I looked at the code but do you have tests for the new class builder? >>> I could not find them. >>> >>> Stef >>> On May 18, 2011, at 6:17 PM, Toon Verwaest wrote: >>> >>>> The PlayOut classbuilder indeed separates this nicely. We have the >>>> distinction between the "installer" and the "builder". The builder uses an >>>> "installer" as a client and notifies it about stuff that happens. >>>> >>>> For example we have an "anonymous subclass builder" that's implemented >>>> like that. It basically just ignores most of the notifications of the >>>> builder since it doesn't really do anything. >>>> >>>> ... but of course this means that you need PlayOut ;) You can get an image >>>> at http://pinocchio.unibe.ch/~tverwaes/PlayOut.tar.gz >>>> >>>> caveats: >>>> - At the moment that system doesn't validate everything yet like the old >>>> classbuilder (since I wanted to freely change classes with any name) >>>> - it doesn't handle obsolete subclasses yet. Oh well ;) >>>> - it's still intertwined with our slots implementation, so it relies on >>>> Helvetia. But that can/should/will be fixed without changing the API. >>>> >>>> cheers, >>>> Toon >>>> >>>> On 05/18/2011 03:18 PM, Mariano Martinez Peck wrote: >>>>> Hi guys. As part of the Fuel project, one of the things we want to do (in >>>>> fact, it is done) is to serialize classes. There want to have 3 >>>>> possibilities: >>>>> 1) Do something like DiskProxy where you only save its global name and >>>>> some selector to run when deserialing it >>>>> 2) Really searialize the whole class (following method dictionary, >>>>> compiled methods, class pools and friend, etc) so that you can >>>>> deserialize it in another image where such class is not present. >>>>> 3) Do the same as 2 but validating and installing the class in the system. >>>>> >>>>> For 2) what we want to do is just to serialize the class as any other >>>>> object. As a result, we get a Class instance. Nothing is validated, >>>>> nothing is added in Smalltalk globals, nothing is compiled. We do not use >>>>> ClassBuilder at all. >>>>> >>>>> For 3) we want to do 2) plus validating and installing the class in the >>>>> system. For validating I mean ALL the validations that the class builder >>>>> does when creating or modifying a class. And for "installing in the >>>>> system" I mean notify, put in Smalltalk globals, re compile what is >>>>> needed, etc... >>>>> >>>>> ClassBuilder seems to do 2) and 3) together. So, what I would love to >>>>> have in a new class builder is to have those two things separated. So >>>>> that I can say to an object ClassManager validate: aClass or ClassManager >>>>> installClassOnSystem: aClass. >>>>> >>>>> Do you think such thing is possible? Right now going through >>>>> ClassBuilder and understand all the validations it does is really >>>>> complicated :( >>>>> >>>>> Thanks in advance, >>>>> >>>>> -- >>>>> Mariano >>>>> http://marianopeck.wordpress.com >>>>> >>>> >>> >> >> > > -- www.tudorgirba.com "Value is always contextual."
