Hi,
I have just released AspectL 0.6.2. See http://common-lisp.net/project/aspectl/
It contains the following changes:
* Special classes need a special default superclass in order to work. For convenience reasons, it is implicitly added to a class definition so that programmers don't need to worry about that default superclass. However, in previous versions of AspectL, I have made a few mistakes here: Forward referenced classes were not handled correctly, and under certain circumstances invalid class hierarchies were created. These mistakes are now fixed, thanks to a fruitful discussion in comp.lang.lisp with Marco Baringer, Bruno Haible, Simon Katz and Kenny Tilton. Special thanks go to Bruno Haible for insisting on leaving COMPUTE-CLASS-PRECEDENCE-LIST alone and to Simon Katz for the idea of how to handle forward referenced classes by fixing the list of direct superclasses after they have been changed to "real" classes. AspectL now also provides two functions INITIALIZE-CLASS-METAOBJECT and REINITIALIZE-CLASS-METAOBJECT in the AL.CLOS-MOP package that implements all the necessary machinery to make these things work and that you can reuse for your own metaclasses.
* LispWorks uses :default-initargs instead of :direct-default-initargs for the direct default initialization arguments of a class, contrary to what AMOP specifies. I have added the necessary conditionalization in al-mixins.lisp. Since I mainly use LispWorks, I have also erroneously used CLASS-DEFAULT-INITARGS instead of CLASS-DIRECT-DEFAULT-INITARGS. I have also fixed this.
* ...and a few other minor changes to internal class names and conditionalization code.
Pascal
-- Tyler: "How's that working out for you?" Jack: "Great." Tyler: "Keep it up, then."
aspectl-announce@common-lisp.net