On Thu, Dec 10, 2009 at 11:56 AM, Sebastian Sylvan <sebastian.syl...@gmail.com> wrote: > > > On Thu, Dec 10, 2009 at 3:30 PM, John D. Earle <johndea...@cox.net> wrote: >> >> 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 think laziness requires purity to make sense. Laziness implies that the > order of evaluation is highly unpredictable and depends strongly on the > implementation details of libraries and such (which you may not have access > to). So it's fickle. Someone adds an if statement somewhere and all of a > sudden a variable gets evaluated earlier than it used to. It would be > madness to write any code which depends on this unpredictable behaviour. In > other words, the expressions that get evaluated lazily must not have side > effects.
Yes, this is discussed in section 3.2 of the paper I cited earlier (http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf). That paper gives some nice insight into the history of Haskell. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe