
Johan Tibell wrote:
On Thu, Feb 12, 2009 at 2:12 AM, Felipe Lessa
wrote: Do we already have enough information to turn http://okmij.org/ftp/Haskell/Iteratee/ into a nice, generic, cabalized package? I think Iteratees may prove themselves as useful as ByteStrings.
I still haven't figured out what the "correct" definition of Iteratee would look like. The Iteratee code that Oleg wrote seems to have the structure of some kind of "two level" monad. I think that's the reason for the frequent occurrences of >>== and liftI in the code. There seems to be some things we yet have to discover about Iteratees.
I concur. I've recently been involved with several discussions on this topic, and there are some issues that remain. The "two level monad" part doesn't bother me, but I think the type should be slightly more abstract and I'm not sure of the best way to do so. IMO liftI is used more because of Oleg's particular style of coding than anything else. I don't think it need be common in user code, although it may be more efficient. I think that, if a GSOC project were to focus on Iteratees, it would need to look at issues like these. I can't judge as to whether this is an appropriate amount of work for GSOC, however simply packaging and cabal-izing Oleg's Iteratee work (or Johan's, or my own) is likely of too small a scope. John Lato