Поскольку на самом деле нет четкого ответа (все смешано с комментариями к первому ответу), вот суть этого:
(with-open [r (reader "input.txt")]
(doall (line-seq r)))
Это заставит всю последовательность строк бытьпрочитайте и закройте файл.Затем вы можете передать результат всего этого выражения.
При работе с большими файлами у вас могут возникнуть проблемы с памятью (удержание всей последовательности строк в памяти), и тогда хорошей идеей будет инвертировать программу.:
(with-open [r (reader "input.txt")]
(doall (my-program (line-seq r))))
В этом случае вам может понадобиться или не понадобиться doall, в зависимости от того, что возвращает my-program и / или my-program, использует ли последовательность лениво или нет.