On Thursday 29 March 2001 20:35, Alan Kay wrote:
Most importantly, class Class was an instance of itself, and class Object was a superclass of itself. The "magic of microcode" was what allowed those two relations to be circular.
Since you only follow the class pointer once, the first circular relation isn't a problem. But it would seem to me that a circular superclass relation would require a special termination test just as much as the current nil superclass one does. I would be very much interested in knowing what you can do in microcode that can't be done in assembly or C, specially since I am currently building a microcoded machine!
The explicit metaclasses of Smalltalk-80 really don't do enough work to justify their complexity IMNSHO.
They allow class methods and class variables (or is that class instance variables?), which I don't think are a big deal either.
But, wait until after this summer .....
Summer is just over down here (Brazil), so do I get a sneak preview? ;-)
But seriously, I am trying to define a very simple object model (something that is to Self like what Self is to Smalltalk) that is clean and poweful and could be explained to an interested 12 year old kid. I can be as nostalgic as the next guy and have been revisting the work I have done in object oriented Logos and Smalltalk, Lisp machine ideas and other stuff. See
http://groups.yahoo.com/group/self-interest/message/1022
-- Jecel