
On Mon, 3 Nov 2008, Luke Palmer wrote:
On Mon, Nov 3, 2008 at 2:54 PM, Don Stewart
wrote: "Optimisations" enable strictness analysis.
I was actually being an annoying purist. "f is strict" means "f _|_ = _|_", so strictness is a semantic idea, not an operational one. Optimizations can change operation, but must preserve semantics.
But I'm not just picking a fight. I'm trying to promote equational reasoning over operational reasoning in the community, since I believe that is Haskell's primary strength.
Maybe I missed the point, but the optimization seems correct to me. Without optimization and its (strictness) analysis the program would still output the correct answer - given that the stack is sufficiently large. Optimization simply makes this program run using much less space. Right?