#!/usr/bin/runhugs module Main(main) where import System(getArgs) main :: IO () main = do args <- getArgs if null args then catFiles ["-"] else catFiles args catFiles :: [String] -> IO () catFiles [] = return () catFiles ("-" : xs) = do input <- getContents putStr input catFiles xs catFiles (x : xs) = do contents <- catch (readFile x) (\e -> return (msg ++ x ++ "\n")) putStr contents catFiles xs where msg = "ERROR reading file: "