Когда я определяю функцию в Common Lisp следующим образом:
(defun foo (n)
(declare (type fixnum n))
(+ n 42))
Я ожидал, что вызов типа (foo "a")
сразу завершится ошибкой, но вместо этого он завершился неудачно при вызове +
. Форма declare
не гарантирует статическую проверку типа?