aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2020-07-20 03:21:44 +0200
committerHugo Hörnquist <hugo@lysator.liu.se>2020-07-20 04:19:03 +0200
commitd0b011777f99ec324047e2bd0caf92580f77eed1 (patch)
treecaccf0055d3c819fea9dc4954221e48cb1909078
parentAdd module for immutable directed graphs. (diff)
downloadcalp-d0b011777f99ec324047e2bd0caf92580f77eed1.tar.gz
calp-d0b011777f99ec324047e2bd0caf92580f77eed1.tar.xz
Add read-lines.
-rw-r--r--module/util/io.scm12
1 files changed, 11 insertions, 1 deletions
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))))))))