--
-- head.hs
--
-- A simple head command in Haskell.
--

import System (getArgs)

defaultLines = 10 :: Int

main = do args <- getArgs
          case args of
            []   -> doHead defaultLines =<< getContents
            args -> mapM_ (\a -> doHead defaultLines =<< readFile a) args

doHead :: Int -> String -> IO ()
doHead n = putStr . unlines . take n . lines
