Don Stewart: > "Optimisations" enable strictness analysis. Luke Palmer: > 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.
Henning Thielemann: > Maybe I missed the point, but the optimization seems correct to me. > [...] I guess the obvious clarification to make here is that strictness analysis doesn't make non-strict functions strict. It is about determining which functions are already strict. The *optimisation* is to transform call-by-need into call-by-value (or something like that). But that's an *operational* matter, as Luke points out. To preserve *semantics*, that transformation can only be allowed for functions which are already strict. Hence the need for strictness analysis as part of optimisation. So everybody is right. :-) _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe