
Non-strictness is not necessary for purity, but it sure gives you some nice
properties... Take for example
const x y = x
It would be really nice for this function to have the property "always
results in x no matter what you give it as it's second argument". But for a
language which is strict, all instances where computing y non-terminates
also non-terminate.
So yes, non-strictness is very much a property you want in a language.
Bob
On Thu, Dec 10, 2009 at 3:30 PM, John D. Earle
My intuition says that laziness and purity are distinct whereas yours says that purity is a necessary condition. This is what needs to be reconciled.
I believe that everyone is thinking that lazy evaluation and strict evaluation are similar activities whereas they are profoundly different. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe