[self-interest] embedding based prototype languages

Jecel Assumpcao Jr jecel at merlintec.com
Fri Nov 8 18:55:12 UTC 2002

On Friday 08 November 2002 03:57, James McCartney wrote:
> Thanks for the long reply. It seems like you've made things fast for
> common execution, but have made creating and modifying prototypes
> very expensive in time and space.

As long as "very expensive in time" is less than two seconds, it seems 
like a good choice for this particular project.

> So this is the equivalent in a class based system of having a full
> all classes by all selectors matrix.

Yes, what is called "Selector Table Indexing" (STI) in "Message Dispatch 
on Pipelined Processor" by Karel Driesen, Urs Hölzle and Jan Vitek 
(ECOOP95 conference proceedings). Since the table is less than 5% full 
for a typical Smalltalk system, the authors considered STI a purely 
theoretical alternative to be use as a base for comparison with the 
practical ones.

This is "very expensive in space", but I can't buy a cheaper memory chip 
than an 8MB SDRAM, yet mass storage is less than 1MB of Flash memory. 
So I can waste space.

> > And about the resends, the compiler simply inlines the parent's
> > source for the method into the spot where the resend was.
> So you can't reassign a method slot? Or if you do you have to rebuild
> the map of all children..

You can change a method slot using reflection, if that is what you mean 
by "reassigning " it. You have to rebuild the maps for all of the 
children objects, which makes it too slow of an operation to be used in 
the middle of a program. But the pause is acceptable after pressing the 
green button in an editor.

My implementation does not keep the extensive dependency lists that Self 
4 does, so any change at all to an object requires the children to be 
recompiled, even if they end up exactly the same after the 

-- Jecel

More information about the Self-interest mailing list