New versions of the libraries in the Closer Project have been
released, including the Closer to MOP compatibility layer for the
CLOS MOP and the ContextL extension for Context-oriented Programming.
Furthermore, AspectL has been moved to the Closer Project, with its
new version 0.7. Previously, it was an independent project that I
haven't maintained anymore. Now that bitrot has started to increase,
I have ported it to the Closer to MOP layer which turned out to be a
surprisingly smooth process. This especially means that the number of
Common Lisp implementations that it runs on has increased.
Two bugs in Allegro Common Lisp that have led to problems in
conjunction with AspectL have also been fixed in the meantime: A bug
that has prevented a non-special slot to be turned into a special
slot has been fixed in Allegro 7.0 and 8.0, and the limitation that a
defmethod form doesn't accept more than one qualifier has been fixed
in Allegro 8.0. Allegro Common Lisp 8.0 now supports the full
functionality of AspectL.
Furthermore, the following changes have been made to AspectL:
- Some of the functionality was previously ported from AspectL to
ContextL, mostly because it is not genuine aspect-oriented
functionality. Those parts are now removed from AspectL
implementation-wise in order to avoid code duplication. Instead,
AspectL imports that functionality from ContextL, and exports it
again for compatibility reasons. Existing AspectL code should mostly
work as before.
- Likewise, the CLOS MOP wrappers are completely removed because
Closer to MOP supports compatibility across different CLOS MOP
implementations much better.
- Finally, the package structure is much simplified. Instead of
placing every functionality in its own package, there is now the
(previously already available) ASPECTL package from which everything
can be imported. The previous scheme was too complicated and offered
no obvious advantages.
See http://common-lisp.net/project/closer/ for the Closer Project and
http://common-lisp.net/project/closer/aspectl.html for AspectL.
Pascal
--
Pascal Costanza, mailto:pc@p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium