[Haskell-cafe] Re: Left fold enumerator - a real pearl overlooked?

Henning Thielemann lemming at henning-thielemann.de
Mon Mar 2 20:03:36 EST 2009


On Mon, 2 Mar 2009, John Lato wrote:

> Hello,
>
> I am not a super-geek (at least, not compared to others on this list),
> but I'll take a try at this anyway.  The benefits of iteratees mostly
> depend on differences between lazy and strict IO (see ch. 7 of Real
> World Haskell for more on this).

Maybe a good text for
    http://www.haskell.org/haskellwiki/Enumerator_and_iteratee
  ?

While I think that the Iteratee pattern has benefits, I suspect that it 
can't be combined with regular lazy functions, e.g. of type [a] -> [a]. 
Say I have a chain of functions: read a file, parse it into a tag soup, 
parse that into an XML tree, transform that tree, format that into a 
string, write that to a file, and all of these functions are written in a 
lazy way, which is currently considered good style, I can't use them in 
conjunction with iteratees. This means, almost all Haskell libraries have 
to be rewritten or extended from lazy style to iteratee style. The 
question for me is then: Why having laziness in Haskell at all? Or at 
least, why having laziness by default, why not having laziness annotation 
instead of strictness annotation.



More information about the Haskell-Cafe mailing list