On Nov 21, 2013, at 2:24 PM, Camille Teruel <[email protected]> wrote:

> 
> On 21 nov. 2013, at 13:44, kilon alios <[email protected]> wrote:
> 
>> any links why newcomers like me should be impressed ? Whats the advantages ?
> 
> That's just cleaning.

No this is more than that. Classbuilder was an horrible beast.

> The old class builder was an incredibly complex piece of code that is now 
> replaced with the Slot class builder.
> The later is based on slots and is much more understandable and thus much 
> easier to maintain.
> It's been integrated some time ago thanks to Martin.
> 
> Slots are the work of Toon and Camillo and enables a lot of useful features: 
> http://rmod.lille.inria.fr/archives/papers/Verw11a-OOSPLA11-FlexibleObjectLayouts.pdf
> They are based on the reification of class layouts (variable,weak,fixed and 
> co) and instance variables (slots).
> Slots are an abstraction added on top of low-level class "fields".
> It means that one will be able to create a customized slot class that define 
> the logic to read and write a slot:
> 
> Object subclass: #MyClass
>       slots: { x => MyFancySlot }
>       category: 'Playground'
> 
> Then when a method read or writes x, the logic you defined in MyFancySlot is 
> executed.
> All that still need to be absorbed by Opal so it's not available right now 
> but it will (Pharo 4)!
> 
>>  
>> 
>> 
>> On Thu, Nov 21, 2013 at 2:21 PM, Tudor Girba <[email protected]> wrote:
>> Triple impressive! This is another sample of an apparently tiny change that 
>> actually has deep impact on the future of our beloved environment.
>> 
>> Ladies and gentlemen, I know you are busy, but please take the time to 
>> acknowledge it :)
>> 
>> Doru
>> 
>> 
>> 
>> 
>> On Thu, Nov 21, 2013 at 12:58 PM, Martin Dias <[email protected]> wrote:
>> wow, impressive!
>> 
>> 
>> On Thu, Nov 21, 2013 at 9:02 AM, Marcus Denker <[email protected]> 
>> wrote:
>> Hi,
>> 
>> Yesterday Camille did the change to finally remove the old class builder!
>> (just a removal + a small change to NativeBoost to use the new class builder 
>> to create anonymous classes).
>> 
>> This means
>>         - 1000 Loc of completely un-understandable code removed.
>>         -  we now 100% run on the new class builder from the Slot Project.
>> 
>> Next on the list (not all for Pharo3):
>> 
>>         - remove PackageInfo
>>         - old Browser + CodeHolder hierarchy
>>         - PseudoClass&Co —> Ring
>>         - old AST+Compiler (this in Pharo4)
>> 
>> We already did (all in Pharo3):
>>         -> remove URI
>>         -> deprecated Url for ZnUrl
>>         -> removed HTTPSocket facade
>>         -> MIMEType retired for ZnMimeType
>>         -> old Debugger is removed
>>         -> Class categories are replaced by Protocols
>> 
>> I am quite sure that these cleanups will enable us to build a lot of very 
>> interesting things
>> in the future.
>> 
>>         Marcus
>> 
>> 
>> 
>> 
>> -- 
>> www.tudorgirba.com
>> 
>> "Every thing has its own flow"
>> 
> 

Reply via email to