(use csv csv-string) (define parse (csv-parser #\;)) (define (parse-from-port #!optional (port (current-input-port)) (prev '())) (let* ((line (read-line port)) (recs (if (and line (not (eq? line #!eof))) (map csv-record->list (parse line)) #f))) (if recs (parse-from-port port (append prev (list recs))) prev))) (print (parse-from-port))