(define $main (lambda [$args] (match args (list string) {[ (each-line print)] [_ (each-file args)]}))) (define $each-file (lambda [$files] (match files (list string) {[ (return [])] [ (do {[$port (open-input-file file)] [(each-line-from-port port print)] [(close-input-port port)]} (each-file rest))]})))