[Haskell-cafe] Is lazyness make big difference?
ithika at gmail.com
Thu Feb 15 06:59:49 EST 2007
Quoth Nick, nevermore,
> According to one guy's analogy: the Real World is strict - in order to
> drink tea, you have to put the cattle on the fire, wait until water
> boils, brew tea and then drink. Not the cattle is put on the fire, water
> boils and the tea is brewed when you take the empty cup to start
> drinking. :-)
I think the word you meant there is "kettle", since "cattle" are what
get turned into burgers ;-) Still, the idea of water-boil-tea-brew
happening by demand would probably save electricity in our
energy-conscious world. Don't boil a full kettle for a single cuppa!
> The question is the following: how big the gap between strict languages
> with lazy constructs and Haskell? Does the default lazyness have
> irrefutable advantage over default strictness?
That kinda leads into thoughts of the Turing tar-pit, where everything
is possible but hopelessly obfuscated by the constraints of the
I think default laziness, to answer your actual question, has advantage
in terms of thought process. It helps me consider things in terms of
dependencies. To go back to the analogy: in the strict style it's very
easy to boil the kettle and then let the water go cold. This is a waste
of energy (CPU time, or whatever).
So whether it's *computationally* more valuable, I don't know. But I
find that it helps me to order my thoughts about what a problem *needs*.
More information about the Haskell-Cafe