2014年2月11日火曜日

[Haskell] getModificationTime は ClockTime を返さない

Real World Haskell 9章では、ファイルの更新日を取得に
getModificationTime を使うコードが提示されている。
ghc 7.6.3 で試したところ、エラーとなった。
書中では、この関数は ClockTime型を返すようになっているが、現在は ClockTime型は obsolute になっており、System.Directory.getModificationTime は UTCTime を返すようになっていた。

いろいろ調べてみると、System.EasyFile というモジュールがあった。
説明によると、
> This is a module of cross-platform file handling for Unix/Mac/Windows.
であり、
ファイルの更新日、作成日、アクセス日の取得、シンボリックリンクの判定、パスセパレータの統一化等、便利な関数が提供されている。

$ cabal install easy-file
でインストールできる。