[Haskell-cafe] Is lazyness make big difference?

Dougal Stanton 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
language.

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*.

Cheers,

D.

-- 
Dougal Stanton


More information about the Haskell-Cafe mailing list