haskell-ja > Archives > 2011/08/18

2011/08/18 01:27:07 UTCcutsea110
#
loop :: a -> (b -> IO ()) -> IO c みたいな関数があります。aはファイルハンドルのようなもので、(b -> IO ())はループに渡される1ステップ処理用の関数です。bで1レコード分のデータが渡ってくるので処理してIOすることを想定しているっぽい。
#
で、ちょっとカスタマイズしたくてステートを持たせたい。
#
loopST :: a -> (b -> StateT History IO ()) -> StateT History IO ()みたいな感じ。
#
最後のStateT History IO cはもしかしたらIO cのままでもいいかもしれない。よくわからん。
#
こういうのってどうすればいいんでしょうか。