src/io.lisp @ 443af0e76dd6 default tip
Add with-eof-handled
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Sun, 23 Jun 2024 13:34:51 -0400 |
| parents | 1028d690ab05 |
| children | (none) |
(in-package :losh.io) (defun read-all (stream) "Read all forms from `stream` and return them as a fresh list." (iterate (for v :in-stream stream) (collect v))) (defun read-all-from-string (string) "Read all forms from `string` and return them as a fresh list." (iterate (with done = (gensym)) (with start = 0) (for (values form pos) = (read-from-string string nil done :start start)) (while (not (eq form done))) (collect form) (setf start pos))) (defun read-all-from-file (path) "Read all forms from the file at `path` and return them as a fresh list." (with-open-file (file path :direction :input) (read-all file)))