У меня есть следующий 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-quote a)", а интерпретатор Lisp вывел "Micro> NIL".
Теперь я ожидал, что эти события произойдут в обратном порядке. Я бы ожидал, что «Micro>» будет напечатано первым, так как оператор форматирования стоит первым. Почему это не напечатано сначала? И что я должен сделать, чтобы удостовериться, что это напечатано сначала?