clasp
clasp copied to clipboard
bytecode compiler doesn't establish a compilation unit
This mostly doesn't matter since it doesn't signal warnings - though that's a problem in itself. However, it does not bind the function refs and defs tables. This means that if it calls out to Cleavir, as it does for saving inline definitions, and hits an undefined function, you get an unhelpful error.
(declaim (inline foo))
(cmp:bytecompile '(lambda () (defun foo () (bar))))
; => The variable COMPILER::*GLOBAL-FUNCTION-REFS* is unbound.