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."