AspectL - Release Notes

This is version 0.6.5 of AspectL. It is available for the following Common Lisp implementations:

The tests have all been performed on Mac OS X but I haven't used any platform specific libraries, so the code should work fine on other platforms as well. The initial version of AspectL (0.5) was developed with LispWorks, and subsequently ported to the other platforms. The code relies heavily on the CLOS MOP and has undergone some important revisions since 0.5, but has obviously stabilized by now. I am now pretty sure that it should run on most Common Lisp platforms that have a decent CLOS MOP implementation. Preliminary tests with GCL 2.6.3 have failed and I will wait for a hopefully more ANSI-compliant GCL 2.7. Some implementation-specific restrictions:

There is currently no separate documentation for AspectL available, except for the HTML files of the website and the documentation provided in the source code. However, I have tried my best to describe all the important definitions in the source code in (hopefully) sufficient detail. I have also tried to create an Albert documentation of the definitions, but wasn't successful in making docbook do what I want and have stopped spending my time on this for the time being.


I have provided system definitions for ASDF (aspectl.asd) and the defsystems of Allegro Common Lisp ( and LispWorks (defsys.lisp). If you don't know how to use a defsystem, load the following files in the given order (or better yet, learn how to use a defsystem!):

  1. al-packages.lisp
  2. lw-compat.lisp (not under LispWorks)
  3. al-clos-mop.lisp
  4. al-pointcuts.lisp
  5. al-mixins.lisp
  6. al-dynascope.lisp
  7. al-special-class.lisp
  8. al-special-function.lisp (not under OpenMCL)

There is a package :aspectl (nickname :al) that provides the exported symbols from all internal AspectL packages, and a package :aspectl-user (nickname :al-user) that you can use for experimenting with AspectL (similar to :common-lisp-user).

Changes in 0.6.5

Changes in 0.6.4

Changes in 0.6.3

Changes in 0.6.2

Changes in 0.6.1

Changes since 0.5


I am thankful to the following people who have contributed, directly or indirectly, important insights and fruitful ideas: Marco Baringer, Jeff Caldwell, Frode Vatvedt Fjeld, Steven M. Haflich, Bruna Haible, Simon Katz, Kaz Kylheku, Barry Margolin, Duane Rettig, Christophe Rhodes, Kevin M. Rosenberg, Dan Schmidt and Kenny Tilton.

Valid XHTML 1.0 Strict