Я не понимаю, почему этот код ведет себя по-разному в разных реализациях:
(format t "asdf")
(setq var (read))
В CLISP он ведет себя так, как и ожидалось, с напечатанной подсказкой, за которой следует чтение, но в SBCL он читает: , затем выводит. Я немного прочитал в Интернете и изменил его:
(format t "asdf")
(force-output t)
(setq var (read))
Опять же, это прекрасно работает в CLISP, но в SBCL все еще читает, затем выводит. Я даже пытался разделить его на другую функцию:
(defun output (string)
(format t string)
(force-output t))
(output "asdf")
(setq var (read))
И он все еще читает, затем выводит. Правильно ли я не использую force-output
или это просто особенность SBCL?