> So then, John, does that mean that in the [ 4 slot { array} declare ],
> that I'm getting the slot named "array" which is at offset 4 (and then
> declaring that to be an array, so as to disable some of the type safety
> checks)?
>
Yes, the hashtable code is written at a bit lower level and thus maybe a
little harder to read than one might normally write in Factor since it is
one of the building blocks that everything is built upon. It is also
possible that some of the compiler optimizations that have been written in
the last couple of years make some of those declarations unnecessary,
although I'd have to look into it more to know for sure.
Also, due to the bootstrapping mechanism, some of the higher level language
constructs like locals and fry quotations are not available yet. That is
something we hope to fix at some future point.
> Here it says slot takes two incoming values: an obj and a non-negative
> fixnum, which is the nth slot. In the hashtable slot-specs you list below
> there are only three slots listed, but it does say that the slot named
> "array" is at offset 4. Is it this offset number that is being specified
> by the "m" parameter? And thus is the array I am seeing in my original
> description the contents of the "array" slot of the hashtable that was
> originally on the stack? That makes sense to me. And the fact that the
> array is 128 slots long (allowing flattened representation of 64 key-value
> pairs) just means that the underlying array in the hashtable has 64
> buckets. Is this a correct interpretation. If it is, it makes sense that
> the actual 26 values stored in the hash table would be dispersed
> throught the 64 buckets, because this is what a hashtable does.
>
Yes, exactly! The "slot-spec" tuple provides a generic description of what
is to be found in this case at offset 4.
Best,
John.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk