TailHs

import System

defaultLines = 10

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

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