cl-annot adds Python-like decorators (or Java-like annotations) to Common Lisp.

Annotations are a reader macro for annotating and transforming forms. Annotations look like Python's decorators:

@annot (defun foobar () ...)

Any functions and macros can be annotations which takes one argument by default. For example, if you define the following function,

(defun trace (object) (print object) object)

you can use the function as an annotation like:

@trace (+ 1 2)


License: LLGPL

Topics: language extension