我在弄清楚Haskell中的iteratee I/O是什麼。我用一些definitions檢查了以下Haskell-Wiki。瞭解Haskell中的iteratee函數
我不明白該函數的第二,第三和最後兩行的含義:
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功能做什麼,但我不明白一些行。 這個wikipage的其他功能真的很神祕。我不明白他們做什麼,因爲我想念一些解釋。