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" >> >
