(rontolisp) docs
← Functions

uiop:read-file-string

(uiop:read-file-string file &rest keys)

The entire contents of a file as one string -- the one-call spelling of opening it, reading it to the end and closing it. A missing file signals, exactly as open does.

Lite: real UIOP passes its &rest keys through to the open, and here they are accepted and ignored. The only one that could matter, :external-format, has no rontolisp surface at all -- every backend reads UTF-8.

(let ((sql (uiop:read-file-string "db/20260101.up.sql")))
  (print (length sql)))

Backend support

All four backends -- one definition in rontolisp source, over with-open-file and a chunked read-sequence loop, so it runs anywhere a file can be opened for input. It deliberately does not size a single buffer from file-length, which answers nil on both WASM backends.