cl-jointgen uses asdf.
Quick assessment (2023-04-02)
Bad type declarations can cause problems (depending on the compiler). For example, clause.lisp has code like this:
;;; utility types (deftype var-index () "The range of variable index numbers." `(integer 0 #.(- ARRAY-DIMENSION-LIMIT 2))) ;; i.e., a little less than a fixnum (defmacro clause-bits-get-bit (c-bits idx) "No-checks version of the above which works directly on the bits." (declare (type simple-bit-vector c-bits) (type var-index idx) (optimize (speed 3) (safety 0))) `(= (the bit 1) (sbit (the simple-bit-vector ,c-bits) (the var-index ,idx))))
The problem is that c-bits and idx (as passed to the macro) will typically be gensyms—not of the indicated types.
Topics: mathematics signal processing