[m-dev.] debugging grades and I/O tabling

Fergus Henderson fjh at cs.mu.OZ.AU
Mon Aug 19 14:45:50 AEST 2002

On 18-Aug-2002, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> Now that I/O tabling and declarative debugging are both reasonably mature,
> it is time to make their benefits widely available by documenting them
> and making them easier to use.
> I propose two changes:
> - Make --trace-table-io-require synonymous with --require-tracing. This would
>   make the procedural part of I/O tabling part of every .debug grade. The space
>   and time costs of this are small; I just measured them as 0.6% and 0.8%
>   respectively. The main implication is that you would get a compile-time
>   error if you tried to compile a module containing a I/O primitive that
>   doesn't have any kind of tabled_for_io annotation in a .debug grade.

It would be very bad for code which compiles in the default grade to
not compile with `--debug'.  So if we're going to make that an error in
debug grades, I think we should make it an error in all grades.

But doing that would break a lot of existing code.
What's the corresponding benefit to users?

> - Add a new grade component, called something like .decl or .decldebug,
> [... for declarative debugging ...]

I think that is a good idea.

I prefer the latter name.

Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
The University of Melbourne         |  of excellence is a lethal habit"
WWW: <http://www.cs.mu.oz.au/~fjh>  |     -- the last words of T. S. Garp.
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au

More information about the developers mailing list