From d0b011777f99ec324047e2bd0caf92580f77eed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 20 Jul 2020 03:21:44 +0200 Subject: Add read-lines. --- module/util/io.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'module') diff --git a/module/util/io.scm b/module/util/io.scm index cff9c6ea..a9da7ea6 100644 --- a/module/util/io.scm +++ b/module/util/io.scm @@ -1,4 +1,5 @@ -(define-module (util io)) +(define-module (util io) + :use-module ((ice-9 rdelim) :select (read-line))) (define-public (open-input-port str) (if (string=? "-" str) @@ -9,3 +10,12 @@ (if (string=? "-" str) (current-output-port) (open-output-file str))) + + + +(define-public (read-lines port) + (with-input-from-port port + (lambda () + (let loop ((line (read-line))) + (if (eof-object? line) + '() (cons line (loop (read-line)))))))) -- cgit v1.2.3