Haskell の iteratee I/O とは何かを理解しようとしています。次の Haskell-Wiki をいくつかの定義で確認しました。
その関数の 2 行目、3 行目、および最後の 2 行の意味がわかりません。
enumerator :: FilePath -> Iteratee (Maybe Char) o -> IO o
enumerator file it = withFile file ReadMode
$ \h -> fix (\rc it -> case it of
Done o -> return o
Next f -> do
eof <- hIsEOF h
case eof of
False -> do
c <- hGetChar h
rc (f (Just c))
True -> rc (f Nothing)
) it
iteratee 関数が何をするかは知っていますが、いくつかの行がわかりません。このウィキページの他の機能は本当に不思議です。いくつかの説明が抜けているので、彼らが何をしているのか理解できません。