かなり大きなファイルを解析しています。これまでに解析したファイルの量を示すために、プログレスバーを定期的に更新したいと思います。
これを行うために私が考えることができる最も直接的な方法はParsecT、モナド変換子として使用して、進行状況IOバーの更新の印刷を解除Handleし、をストリームプロバイダーとして使用して、とを使用して進行状況を確認できるようにすることhFileSizeですhTell。
つまり、インスタンスが必要Stream Handle IO Charです。(を使用して)自分でロールするのは難しいことではありませんがhGetChar、予期しない問題(速度のためにバッファリングを挿入する必要があるかどうかなど)を処理するために、すでに存在するかどうかを確認することにしました。