[m-dev.] for review: Aditi updates[6]
Fergus Henderson
fjh at cs.mu.OZ.AU
Thu Jul 1 17:41:17 AEST 1999
On 01-Jul-1999, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> >
> > > + at subsubheading Bulk insertion
> >
> > There are sufficiently many @subsubheadings that I think there should be
> > separate @nodes for each @subsubheading here, with an @menu to select
> > between them.
>
> See the comment above: "@c XXX texinfo doesn't have subsubsubsection."
Yes, but I think you can use @node even without @subsubsubsection,
can't you?
... looking at the TexInfo manual I see that you can:
| Usually, you write one of the chapter-structuring command lines
| immediately after an `@node' line--for example, an `@section' or
| `@subsection' line. (*Note Types of Structuring Command: Structuring
| Command Types.)
"Usually", but it is not required.
There is however a small caveat:
| *Please note:* The GNU Emacs Texinfo mode updating commands work
| only with Texinfo files in which `@node' lines are followed by
| chapter structuring lines. *Note Updating Requirements::.
I don't think this would affect us, though, since we don't use
the GNU Emacs Texinfo mode updating commands (at least I don't).
> > > + at example
> > > +aditi_bulk_insert(@var{PredOrFunc} @var{Name}/@var{Arity}, @var{Closure}, @var{DB0}, @var{DB}).
> > > + at end example
> > > +
> > > +Insert all solutions of @samp{@var{Closure}} into the named relation.
> > > + at samp{@var{PredOrFunc}} must be either @samp{pred} or @samp{func}.
> > > +There must be a @w{@samp{:- pragma base_relation}} declaration for
> > > + at w{@samp{@var{Name}/@var{Arity}}}.
> >
> > Can `Name' be module-qualified?
> > (Same question applies in a few places around here.)
>
> Yes.
OK, please make the documentation about that clearer.
> > > --- ho_type_mode_bug.err_exp 1997/06/16 08:55:31 1.1
> > > +++ ho_type_mode_bug.err_exp 1999/05/21 09:43:11
> > > @@ -1,11 +1,9 @@
> > > ho_type_mode_bug.m:025: In clause for `my_foldl2((pred(in, in, out) is det), in, in, out, in, out)':
> > > -ho_type_mode_bug.m:025: in argument 1 of higher-order predicate call
> > > -ho_type_mode_bug.m:025: (i.e. in the predicate term):
> > > +ho_type_mode_bug.m:025: in argument 1 (i.e. the predicate term) of call to predicate `call/6':
> >
> > Hmm, this seems like a small step backwards in terms of readability.
> > How hard would it be to keep the old message?
>
> The error message now reads:
>
> ho_type_mode_bug.m:025: In clause for `my_foldl2((pred(in, in, out) is det), in,
> in, out, in, out)':
> ho_type_mode_bug.m:025: in argument 1 (i.e. the predicate term) of higher-orde
> r predicate call:
> ho_type_mode_bug.m:025: mode error: variable `P' has instantiatedness `(pred(i
> n, in, out) is det)',
> ho_type_mode_bug.m:025: expecting higher-order pred inst (of arity 5).
>
> Keeping the original line wrapping is difficult because
> hlds_out__write_call_arg_id does not have a context.
> Adding a context there is probably the wrong fix - we should
> eventually add better support for line wrapping in error messages
> throughout the compiler without having to bodge it in everywhere.
OK, that is fine.
> Does the "(i.e. the predicate term)" really add anything here?
Yes. If I write `P(A, B)', and the compiler complains about a mode
error "in argument 1 of higher-order predicate call", then I will
probably think it means a mode error in `A', not a mode error in `P'.
--
Fergus Henderson <fjh at cs.mu.oz.au> | "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3 | -- 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