[m-dev.] `pred' and `mode' declarations and the module system
Julien Fischer
jfischer at opturion.com
Mon Jan 11 22:42:12 AEDT 2016
On Mon, 11 Jan 2016, Zoltan Somogyi wrote:
> On Mon, 11 Jan 2016 15:58:01 +1100 (AEDT), Julien Fischer <jfischer at opturion.com> wrote:
>> I suggest that we change the language definition to require that:
>>
>> 1. *all* mode declarations for an exported predicate or function must also
>> be exported.
>>
>> 2. be explicit about the fact that mixing predmode declarations with separate
>> mode declarations is an error.
>
> Agree on both points.
I'll post a change to the reference manual shortly.
>> (And make the implementation conform to that.)
>
> Since I worked on this recently, I will do that.
Incidentally, the background to this is some of the tests cases in
tests/invalid that have never been enabled. If you're looking at
the frontend you may also want to take a look at:
tests/invalid/parent.undeclared_child
tests/invalid/bad_detism
Ths issues I raised above are due to
tests/invalid/typeclass_dup_method_mode
The method p/1 has both a predmode declaration and a separate mode
declaration. (We also don't pass that test due to not checking for
indistinguishable modes in type class declarations.)
Julien.
More information about the developers
mailing list