標準Haskellライブラリには、Windowsで多少異なった振る舞いをするものがある。
Windowsでは、文字^Zはファイル終端文字と解釈されるので、この文字を含んだファイルを読むとそこでファイルが終わっているように見える。これを避けるには、IOExts.openFileExを使ってファイルをバイナリ(無変換)モードで開くか、既に開かれたハンドルをIOExts.hSetBinaryModeでバイナリモードにすれば良い。IOExtsモジュールはlangパッケージにある。
^Z
IOExts.openFileEx
IOExts.hSetBinaryMode
IOExts
lang