Формат Lisp и принудительный вывод
Я неПонять, почему этот код ведет себя по-разному в разных реализациях:
(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?