Q: haskell getArgs How does getArgs work, I am trying to read in a text file from the terminal which then sends the contents to one of my defined functions. Can someone post an example code to give me an idea of how it works. Thanks.

A: getArgs gives you a list of command-line arguments (not including what C programmers call argv[0], the name of the running binary). So for example, if you compiled your application as foo and then executed foo a b c on the command-line, then getArgs would return ["a", "b", "c"].
From your question, I'm not sure whether you're expecting a filename on the command-line, or whether you're expecting to pipe the data in on standard-in.
If you're after a filename, just take the result from getArgs and pass it to openFile (or perhaps readFile, depending on what you're after).
If you're trying to do piping, you might look at interact, which may do what you want.

A: getArgs is an IO action which produces a list of String
fmap someFunction $ readFile =<< fmap head getArgs

or in Applicative style:
someFunction <$> readFile =<< head <$> getArgs

