2007/2/15, Dougal Stanton <[EMAIL PROTECTED]>:
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!
An example of real world laziness, and where it pays off, is maybe the
kanban system as used in manufactering:
http://en.wikipedia.org/wiki/Kanban
Not sure though if such so called real world examples actually add
much to the discussion. Ultimately I think you need both lazy and
strict evaluation; a reasonable default depends on the flavour of the
particular language. Given Haskell, it seems lazy by default is the
obvious choice (however I may feel that way simply because it _is_
that way :) )Strict just can't be the _only_ option, as it too often
is.
Kurt
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe