エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

Haskellでcatコマンド(例外処理付き)

import System

cat :: [String] -> IO ()
cat []     = getContents >>= putStr          -- 標準入力
cat [f]    = catch (readFile f >>= putStr)   -- 任意のファイル(例外捕捉付き)
                   (\e -> putStr ("CANNOT OPEN " ++ f ++ "\n"))
cat (f:fs) = cat [f] >> cat fs               -- 複数のファイル

main = getArgs >>= cat

なぜか「¥」が入力できません。