simple object model (was: [self-interest] selfing Self)

Jecel Assumpcao Jr jecel at
Sun Apr 1 22:07:52 UTC 2001

On Friday 30 March 2001 16:39, Steve Dekorte wrote:
> How about a hash table? NewtonScript, JavaScript, and Lua use simple
> hash tables for "objects".

That is a great idea, which is why all these languages use it. I think 
Rebol also has something like this.

In fact, I think that what we now have in Self is equivalent to this - 
just add a set of hash table-like objects to mirrors. The problem I am 
trying to attack is the existence of three levels:

  1) base level: objects look like menus, morphs, strings, etc...

  2) reflective level: objects look like hash tables (or collections of 

  3) implementation level: you have the actual memory format of objects 
with tricks such as "maps" to help make cloned objects smaller

Since hash tables are a very abstract data type, saying that objects 
are built from them still gives me no clue about the implementation 

One complication in Self 4 is that levels 1 and 2 are in Self, but 3 is 
in C++ (which requires different skills and tools). Self/R is meant to 
simplify things by having level 3 in Self as well.

What I am investigating here is the possibility of bringing levels 2 
and 3 closer together (ideally level 2 would be a slightly "sugar 
coated" version of level 3).

-- Jecel

More information about the Self-interest mailing list