cl-jointgen was written by Utz-Uwe Haus and Tamon Stephen. It's homepage with API documentation is located on primaldual.de, and the code is hosted at sourceforge.
cl-jointgen should run under all ANSI compliant Common Lisp Implementations.
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