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