Tagged as lisp
Written on 2020-02-21
Quick lisp tip for enabling cl-annot reader macros across an entire asdf project.
@ annotation syntax for some Common Lisp operations.
For example, using cl-annot you can export a function like so:
@export (defun foo () "foo") ;; expands to -> (progn (export 'foo) (defun foo () "foo"))
Using cl-annot requires adding this code to the header of each
This can be cumbersome for large asdf projects, which have many files. If you'd like to avoid pasting that header everywhere, you can use asdf's
(defsystem your-project :name "your-project" :components (...) :around-compile "(lambda (compile-fn) (annot:enable-annot-syntax) (funcall compile-fn))")
The string defining the lambda will enable annotations before each file in your project is compiled.
Now you can use cl-annot for any file in your project.