Jerzy Karczmarczuk writes (in the Haskell cafe):
OK, I admit that I will never understand these complaints about the
inefficiency of non-strict computations, since what I *require* in most
of my work is laziness. Had I needed strictness for the sake of efficiency,
I would use a different language instead of throwing dirt at Haskell.
Sometimes lazy is better, sometimes eager. That's why I want to use
both strategies in one language and program.
I think complaints about ineffeciency of non-strict computations can
be valid. It's nice to write
sum = foldl (+) 0
main = print ( sum [1..100000])
but if your program runs out of stack you don't want to switch to
another language.
Clean has not only those ubiquitous !annotations, but has a powerful
strickness analyzer, which alleviates their use.
Strictness analysis is undecidable in general and there are situations
(in real programs) where Clean's strictness analysis falls short.
Cheers,
Ronny Wichers Schreur
_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe