[m-rev.] for review: allow pragmas to accept pred() and func() wrappers around symname/arity

Zoltan Somogyi zoltan.somogyi at runbox.com
Wed May 5 07:50:17 AEST 2021


This implements what we discussed last week on m-dev.
For review by anyone. I would particularly like a quick
response to the change to prog_data.m, since any proposals
for better names for the notions described there would require
updating the rest of this diff.

I intend to add new test cases to invalid to test errors in the
newly allowed pragma forms, but will do this while this diff
is being reviewed.

I intend to document and announce the new functionality
only after we have used it ourselves without hitch for a
week or two.

After that, we can discuss whether to change how we treat
ambiguous pragmas, i.e. pragmas in which a symname/arity pair
can refer to either a predicate or a function. Currently, we
apply the pragma to both, which I think is unsafe, but we could
change it to generate an error in that case. I think Peter agrees,
since I am paraphrasing his suggestion, but maybe I am wrong.

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.pragma_pf
Type: application/octet-stream
Size: 6719 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20210505/6c1653c6/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.pragma_pf
Type: application/octet-stream
Size: 254213 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20210505/6c1653c6/attachment-0003.obj>


More information about the reviews mailing list