This picture shows that class objects like other objects---they're instances of classes. The class pointer in a class object points to a class object that describes classes, called a metaclass. In our system, we only have one metaclass object, called <>. The class <> describes itself as well as other class objects, which is why its class pointer points to itself. METACLASS OBJECT: NORMAL CLASS OBJECTS: (i.e., class <>) +-------+ +-----------------------------------+---* | | +=======+ | super | * | | +-------+ | name | *---+--> | +-------+ | slots | * | | +-------+_ | |\ | \ | +-------+ | | | | | v v | | +-------+ | | | *---+---+ +-------+ | +=======+ <--------------------------+---* | | super | * | +=======+ | +-------+ super | +---+--+ name | *---+--> <> +-------+ +-------+ name | *---+--> slots | *---+-> (super name slots) +-------+ +-------+ slots | *---+--> (x y) ^ +-------+_ | |\ | \ | | | | | | | +-------+ | +--------------------------------+---* | | +=======+ | super | *---+--+ +-------+ name | *---+--> +-------+ slots | *---+--> (x y color) +-------+