read-line版
read-lineして行毎にprintしてみたらまともに出力した。
(define (cat . name) (define (cat2 port) (let ((line (read-line port))) (if (eof-object? line) #t (begin (print line) (cat2 port))))) (define (loop lis) (if (null? lis) #f (begin (cat2 (open-input-file (car lis))) (loop (cdr lis))))) (apply loop name))
cat程度でこれはちょっと汚いな。