packages feed

oi-0.1.1: sample/catsSIO.hs

module Main where

import System.Environment
import System.IO.Strict
import Prelude hiding (readFile, writeFile)

main :: IO ()
main = do
  args     <- getArgs
  main' args

main' :: [String] -> IO ()
main' args = run $ do
  contents <- if not $ null args 
                then do
                  mapM readFile args
                else do 
                  files <- readFile "files"
                  mapM readFile (lines files)
  writeFile "output.txt" (concatMap textproc contents)

textproc :: String -> String
textproc = unlines . take 1 . lines