[m-dev.] for review: new tests/tabling directory

Zoltan Somogyi zs at cs.mu.OZ.AU
Fri Aug 14 12:53:47 AEST 1998


> > +Software error: detected infinite recursion in pred tc_loop:tc/2
> > +Stack dump not available in this grade.
> 
> I would have to classify this as a compiler bug.  Software error
> is not the correct way to report an error in the program.

I don't understand what you mean. In this case, the programmer has
used an annotation that *tells* the implementation to abort if it finds
infinite recursion at runtime. The usual way for a program to abort is
by calling error/1, which produces a message formatted like the one above.
What exactly is the problem with this?

(The error cannot be reported at compile time, since in general the
presence of infinite looping is data-dependent, and thus that would
require solving the halting problem.)

Zoltan.



More information about the developers mailing list