4 ms·
Noob answer: In a strict language, you write an expression and it's perfectly clear when it will be evaluated. With lazy evaluation to know if or when an expr
by brl 18y ago
Noob answer:
In a strict language, you write an expression and it's perfectly clear when it will be evaluated.
With lazy evaluation to know if or when an expression will be evaluated you have to follow it through possibly many layers of function calls (which may have been written by somebody else) looking for a place where it needs to be evaluated. Along the way it may become embedded in other expressions which complicates the problem.
How do you know when an expression needs to be evaluated? I don't know if I'm smart enough to understand the answer to that question:
http://en.wikibooks.org/wiki/Haskell/Denotational_semantics#Strict_and_Non-Strict_Semantics http://en.wikibooks.org/wiki/Haskell/Denotational_semantics#...