Mmm... if slots support annotations, maybe the user can tag an instance variable with a "ignore" tag.
At this moment, the user can override #fuelIgnoredInstanceVariableNames to do that, answering a list of variable names. Martín On Sat, Nov 23, 2013 at 5:46 PM, Stéphane Ducasse <[email protected] > wrote: > > > How does this affect serialization / materialization engines like Fuel? > > Not now > We will have to work to make the compiler smarter and define special Slot > class. > > > >> 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. 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" > >> > >> > >> > > > > >
