I've been reading PDD15. It seems that if the object foo is an instance of the class Foo then foo is a ParrotObject pmc and Foo is a ParrotClass pmc.
From the description in PDD15 I'm not sure how to hand languages where a class is also an object. Where Foo is an instance of Foo' which is an instance of Class.
The three solutions I can see are
1: Let one ParrotObject be an instance of another ParrotObject, so that Ruby would just use ParrotObjects for it's object system
2: Let one ParrotClass be an instance of another ParrotClass
3: Create a ParrotMetaClass pmc, so Class and Foo' would be ParrotMetaClasses, Foo would be a ParrotClass and foo would be a ParrotObject
I think this will also be an issue with Python since that allows classes to have metaclasses.
-- Mark Sparshatt