
Hi Joachim,
Why? In case the strictness analyzer was buggy?
I'd be perfectly happy if that analysis were just a note saying "run ghc with such-and-these options and inspect the intermediate code for function foo to see that the strictness analyzer determined it will always terminate".
I think you are asking too much from the strictness analyzer.
Why would you want strict code? Haskell's lazy semantics makes it much more amenable to equational reasoning. If you keep this laziness you can do all manner of proofs on the code. If what you want is real-time guarantees then something like the Hume project might be what you are after. Shoving a strictness analyser over a piece of code only returns info about the WHNF, nothing deeper. If you take it as anything more than an optimisation hint, it will come back and bite you... If what you do want is termination proofs, then you want this: http://www-i2.informatik.rwth-aachen.de/giesl/papers/RTA06-distribute.ps Thanks Neil