だめ、俺の限界を超えてる。モナド来た
しかも引数0の時動かない。

$ runghc -e 'import System;main=do{a<-getArgs;mapM (\x->getFile x) a;return ()};getFile x=do{c<-readFile x;putStr c} ' a.txt b.txt
foo
bar
buzz

foo2
bar2
buzz2

もう少し読みやすくした

$ runghc -e 'import System;main=getArgs>>=mapM_ catFile;catFile f=do{c<-readFile f;putStr c}' a.txt b.txt
abc
def
ghi
abc
def
ghi