On Dec 28, 2007, at 12:06 PM, Ralf Laemmel wrote:

You did not say anything that's imprecise about "mentioning each other in a cycle", just the well-known fact that it's not equivalent to total
termination checking (in fact, it's neither fully an overestimate nor
underestimate of termination -- it's just an estimate that's likely to
be right when used in the context of default method definitions).
[The hard general cases]
... and that's still very imprecise because the dots don't mean anything proper.

Are you willing to look at the pattern *after* overloading resolution.

Let's have a proper termination checker!

It occurs to me to ask: would "returns bottom given non-bottom arguments according to strictness analysis" be good enough? Because that information is useful for other things as well, and relatively easy to compute using strictness analysis. Then "extra pragmas" might be as simple as pragmas saying "yes, compiler, I expect the following function to return _|_"---again an annotation that has other potential uses.

-Jan-Willem Maessen

_______________________________________________
Haskell mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to