A Simple Edit-Time Metaobject Protocol
Common LISP: the language, 2nd Edition