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 <stephane.ducasse@inria.fr> 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 <kilon.alios@gmail.com> 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 <tudor@tudorgirba.com> 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 <tinchodias@gmail.com>
>>> wrote:
>>>>
>>>> wow, impressive!
>>>>
>>>>
>>>> On Thu, Nov 21, 2013 at 9:02 AM, Marcus Denker <marcus.denker@inria.fr>
>>>> 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"
>>
>>
>>
>