Iteratees were introduced by Oleg Kiselyov who maintains a page of articles about the approach, Incremental multi-level input processing and collection enumeration.
Commonly used libraries include:
- iteratee, based on Oleg's CPS implementation and maintained by John Lato, providing solid support for binary IO, seeking, and parallel processing.
- enumerator, developed by John Millikin to have a smaller API. This package is commonly used for text and web applications, in projects like snap and yesod.
- iterIO, David Mazieres' simpler API, with built-in support for HTTP, SSL and compression.