1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
USING: kernel io io.files io.streams.lines sequences ;

: drop/write ( outstream line -- outstream )
    dup "#" head?
    [ drop ]
    [ over stream-print ]
    if ;

: (remove-#-line) ( outstream -- outstream )
    [ readln dup ]
    [ drop/write ]
    [ drop ]
    while ;

: remove-#-line ( in-file out-file -- )
    <file-writer> swap <file-reader> <line-reader>
    [ (remove-#-line) stream-close ] with-stream ;