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

Reply via email to