Iteratee という概念は、Haskell 界に適切な資源管理と合成可能な IO をもたらした。そして、以下の3つのパッケージが乱立することになった。 iteraee enumerator iterIO 昨年の ICFP の際、Iteratee の生みの親である Oleg さんに「この状況をどう思っているのか」と聞いてみた。曰く「とてもよい状況です。いくつかの実装が現れ実際に使われることで、本当に必要な機能が分かるでしょう」。 もしかすると、Conduit によって彼の願いがもう実現されたのかもしれない。 Iteratee には何が足らなかったのか? 以下は、enumerator の使用経験基づく考察だが、たぶん Iteratee 全体に言えると思う。 Iteratee で資源を割り当てられない Michael Snoyman さんの不満 例外処理が大変 liftIO と catch