On 07 Feb 2015, at 21:11, Eliot Miranda <eliot.miranda@gmail.com> wrote:
On Sat, Feb 7, 2015 at 9:35 AM, Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>> wrote:
On 07 Feb 2015, at 18:29, Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>> wrote:
On Fri, Feb 6, 2015 at 10:13 PM, stepharo <stepharo@free.fr <mailto:stepharo@free.fr>> 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