[Python-Dev] Classes and Metaclasses in Smalltalk

Thomas Heller thomas.heller@ion-tof.com
Wed, 2 May 2001 13:12:21 +0200


> Jim Althoff (a big commercial user of J[P]ython) sent me a summary of
> how metaclasses work in Smalltalk.  He should know, since he invented
> them! :-)  I include it below, with his permission.

I found this very interesting reading.

[From Jim Althoff]
> In the list below, indentation indicates class hieararchy (superclass --
> subclass)
The indentation, unfortunately, seems to be destroyed.

> 
> plain-class
> ----------------
> <none>
> o Class
>    o  Object                                                   isInstanceOf
> o ObjectMetaClass                     isInstanceOf  MetaClass
>         o Class                                                isInstanceOf
> o ClassMetaClass                    isInstanceOf  MetaClass
>             o MetaClass                                  isInstanceOf
> o MetaClassMetaClass      isInstanceOf  MetaClass
>         . . .
>         o Rectangle                                        isInstanceOf
> o RectangleMetaClass          isInstanceOf  MetaClass
>             o SpecializedRectangle            isInstanceOf
> o SpecializedRectangleMetaClass  isInstanceOf  MetaClass

A question for Jim (this is more Smalltalk than Python related):
How does the Behaviour class fit into this picture?

Thhomas