sounds good.
We should sycn with marcus.
Yes having first a cleaning classbuilder is a good step.

Stef

On Apr 14, 2011, at 8:18 PM, Toon Verwaest wrote:

> On 04/14/2011 08:09 PM, Stéphane Ducasse wrote:
>> On Apr 14, 2011, at 4:12 PM, Toon Verwaest wrote:
>> 
>>> Be patient, be patient ;)
>>> 
>>> I'm still very busy at the moment, but it'll get there.
>>> 
>>> We'll probably have discuss if you want to generate slot and layout objects 
>>> in the classbuilder, or if you want to replace the instanceVariables array 
>>> with real layout objects that you keep around. We basically implemented 
>>> everything around the layout objects and keep this data in all classes; but 
>>> you'll have to figure out if you want this in Pharo or not. Decide and let 
>>> me know, I'd say ;)
>> you know the answer (we want slots). After this is more a question of
>>      - is the code robust
>>      - what are the migration plans
>>      - do we schedule that for when
>> 
>> Stef
> Well for robustness reasons I suggest to start the port with only layouts and 
> 1 type of slot object (the standard slot object). This slot object will in 
> the first phase not influence compilation at all. We can also (in the first 
> phase) keep the class format exactly the same as it was before, to not 
> interfere with existing tools and code.
> 
> This makes the layouts only metadata that is used by the class builder and 
> the interface between the compiler and classes. The inspector can easily be 
> rewritten to also use the slot metaobjects.
> 
> If we do it in that format, I can tell you that layouts are stable and so is 
> the migration. I can remove the decompilation/recompilation based on Opal for 
> fast method rewriting for now, if you want to avoid too many dependencies at 
> first and test the whole class builder independent of how methods are 
> updated. This is basically just 1 line of code that needs to be changed so I 
> can easily disable that ...
> 
> If you give me an exact plan and an image into which I can bootstrap my 
> classbuilder, I can do this first step by myself. Someone with more knowledge 
> of the whole ecosystem could then help me to smooth out the problems.
> 
> The only thing that isn't working yet atm is the class globals (the class 
> variables), but that isn't really hard; it just needs to be done :)
> I really didn't care about that part, which is why it isn't there yet.
> 
> Obviously my suggestion means that you won't have slots yet in the beginning, 
> but I think that's the safest bet for now. The classbuilder works and doesn't 
> introduce new concepts yet. It just cleans up existing code.
> 
> cheers,
> Toon
> 


Reply via email to