Iteratee Hello World

This entire blog post is in literate Haskell, you can clone it from the gist to try it out:

git clone git://gist.github.com/1571444.git iteratee-hello-world

This is the simplest example of an Iteratee that I could think of. It simply reads from an stdin/file Enumerator and spits it out to an stdout Iteratee. The stream is transformed to uppercase characters using an Enumeratee.

I put this together to figure out how to apply the Iteratee abstraction in everyday situations, hopefully this will serve as a jump off point for people looking to learn about Iteratees.