yunomuのブログ

酒とゲームと上から目線

Filesystemモジュール

「Haskellで実行ファイル名をパス付きで取得する」って記事で出てきたFilePathって型がFilesystem.Pathで定義されているんですが、これをどう使ったらいいものかよくわかんなくて、とりあえずFilesystem.Path.CurrentOSをimportしてStringに変換して使っていたわけなんですが、
そういや前に@kazu_yamamotoさんと@tanakhさんがTwitterで喋ってたのを思い出してサルベージしてきた。
String, ByteString, FilePathとFilesystemモジュールあたりの話 - Togetter
結構前だと思ってたけど意外と最近だったので全部拾えた、ような気がする。たぶん。

で、FilePathってどうやって使うのよって話ですが、system-fileioパッケージに入ってるFilesystemモジュールを使うのが良いらしいです。
Filesystem - hackage

これでだいたいファイル関連の操作はSystem.IOの関数と同じような感じで使える。文字列をFilePathに変換とかはやっぱりFilesystem.Path.CurrentOSを使わないとできませんが。

これ使ってみた感じですけど、System.IOのやつと比べるとデータがByteStringベースなのでちょっと楽ですね。エンコードとか。

というわけでちょっと紹介みたいな感じでした。