Hey guys,
I've been working on this for a while, experimenting a lot with possible implementations of Iteratees in Clojure, the library is more like a proof of concept (not released yet to clojars).
https://github.com/roman/clj-stream
If you are interested in Iteratees (or trying to understand how they work) I tried my best to implement a friendly API. Some of the things this library provides:
* All public functions are tested and documented.
* A Monadic interface so that you can compose simple Iteratees (Consumers) into more complex ones.
* A macro (run*) that facilitates the execution of Iteratees (Consumers).
Some of the known drawbacks that I'm looking forward to improve (if you have any suggestions, please let me know):
* Some Iteratees (Consumers) and Enumeratees (Filters) hold state through recursion, I'm afraid this might cause a StackOverflow with big numbers, so this is something that definitely needs to get improved.
Thanks for your feedback.
Roman.-