Hi,
I have just released AspectL 0.6 on its website at http://www.common-lisp.net/project/aspectl/
The most notable improvement is that I have successfully ported AspectL to a number of Common Lisp implementations beyond LispWorks. It now runs on the following implementations:
- Allegro Common Lisp (with minor restrictions) - CMU CL - LispWorks - OpenMCL (but not special generic functions) - SBCL
Apart from some internal changes, porting AspectL to those other platforms has required one important design change. In AspectL 0.5, special generic function had to be defined like this:
(defgeneric some-function (some-parameters) (:generic-function-class special-generic-function))
Now, they have to be defined like that:
(define-special-function some-function (some-parameters) (:definer some-function*))
You have to provide two names: The first name must be used for calling a special function whereas the second name (the "definer") must be used for defining methods. This avoids some deep problems I have faced when trying to sneak in additional information in the generic function invocation protocol of the CLOS MOP. In all other respects, define-special-function acts like defgeneric.
For further details, see the release notes.
Pascal
-- Tyler: "How's that working out for you?" Jack: "Great." Tyler: "Keep it up, then."
aspectl-announce@common-lisp.net