Это код для реализации команды 'cat' с lisp, как объяснено в книге ANSI Common Lisp , стр. 122.
(defun pseudo-cat (file)
(with-open-file (str file :direction :input)
(do ((line (read-line str nil 'eof)
(read-line str nil 'eof)))
((eql line 'eof))
(format t "~A~%" line))))
Почему чтениеЛинейная функция запускается дважды?Я пытался запустить его только с одной строкой чтения, но Lisp не смог завершить код.