> On 07 Feb 2015, at 21:11, Eliot Miranda <[email protected]> wrote:
>
>
>
> On Sat, Feb 7, 2015 at 9:35 AM, Marcus Denker <[email protected]
> <mailto:[email protected]>> wrote:
>
>> On 07 Feb 2015, at 18:29, Marcus Denker <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>
>>
>> On Fri, Feb 6, 2015 at 10:13 PM, stepharo <[email protected]
>> <mailto:[email protected]>> wrote:
>> I want relationships for certain modeling purposes
>> What I like is that we should arrive to get a collection of useful slots
>> with optimal implementation instead all of us reinventing the wheel.
>>
>> I have started to collect the examples in Slots-Examples (in #481).
>> At the start these are artificial (just testing/showing something), but
>> slowly we will add useful ones, too.
>>
>> I started to implement PropertySlot, this uses hidden slots, initialisation
>> (to set the empty dictionary of the base slot), virtual slots
>> (the proper slots), reflectively changing the class both when adding and
>> removing (to add the base slot and remove it as needed).
>>
> and custom byte code generation to read and write with just #at: and #at:put
> on the base slot…
>
> and remember that the closure bytecodes can access a field without a bounds
> check
>
> 140 10001100 kkkkkkkk jjjjjjjj Push Temp At kkkkkkkk In Temp
> Vector At: jjjjjjjj
> 141 10001101 kkkkkkkk jjjjjjjj Store Temp At kkkkkkkk In Temp
> Vector At: jjjjjjjj
> 142 10001110 kkkkkkkk jjjjjjjj Pop and Store Temp At kkkkkkkk
> In Temp Vector At: jjjjjjjj
Yes! We can make a Slot that stores in a hidden Array… should be very efficient
(both space and speed-wise).
(of course with Spur no that needed anymore…)
Marcus