У меня есть следующий код языка Common LISP:
(defun micro-read-eval-print ()
(format t "Micro > ")
(let ((form (read-line)))))
Когда я выполняю его, я получаю следующее:
CL-USER> (micro-read-eval-print)
(m-quote a)
Micro > NIL
Обратите внимание, что я ввел в" (m-кавычке a)", в то время как интерпретатор Lisp производил "Микро> NIL".
Теперь, я ожидал бы, что эти события произойдут в обратном порядке. Я ожидал бы "Микро>" быть распечатанным сначала, так как оператор формата на первом месте. То, почему это не, распечатало сначала? И что я должен сделать, чтобы удостовериться, что это печатается сначала?