blob: a9da7ea6c605168a7019c30ff436f50bf5d15428 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
(define-module (util io)
:use-module ((ice-9 rdelim) :select (read-line)))
(define-public (open-input-port str)
(if (string=? "-" str)
(current-input-port)
(open-input-file str)))
(define-public (open-output-port str)
(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))))))))
|