[squeak-dev] The Primitive: I am not a number- I am a named prim! - SqueakPeople article

Eliot Miranda eliot.miranda at gmail.com
Tue Jul 1 20:41:03 UTC 2008


On Tue, Jul 1, 2008 at 1:21 PM, tim Rowledge <tim at rowledge.org> wrote:

>
> On 1-Jul-08, at 12:25 PM, Eliot Miranda wrote:
>
>> [snip]
>>
>> Gettng rid of both obsolete tables is a really good thing (and I've
>> already done it).
>>
> Good
>
>>
>> Getting rid of indexed primitives for the core does not save anything.
>>  There still has to be a table somewhere that maps the primitive name to the
>> primitive function.  All you do is replace a table mapping indices to
>> functions with one mapping strings to functions. You can't reply on the OS
>> to do the lookup because you won't be able to strip VM executables if you do
>> and that really costs space.
>>
> Sure; there's always got to be some way of looking up things. It will
> always take some space and time. But surely trading space/time for more
> flexible and smarter is what Smalltalk is all about?


Smalltalk is about a lot of things.  One is minimality (everything's an
object).  Use Occam's razor.  Named primitives for the core prims is a
flourish one doesn't need.  As my first wife was fond of saying "Don't sweat
the petty stuff.  Pet the sweaty stuff."

More seriously, the VM should be as minimal as possible and I've shown (I
think) that e.g. named primitive support can be lifted into the image and be
much more flexible and extensible there.  But the same can't be done with
the core primitives.  We can't have a circularity were the system needs to
use core primitives to bind core primitives.   So (I tell myself) keep it
simple stupid.  Just use an index.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080701/b3f6fa79/attachment.htm


More information about the Squeak-dev mailing list