[m-rev.] for review: carve four modules out of term.m

Zoltan Somogyi zoltan.somogyi at runbox.com
Sat Aug 20 12:27:18 AEST 2022


For review by anyone.

I will write up the changes in NEWS after the review,
and likewise, I will make any needed updates in extras
or samples then, in both cases so I don't have to redo
any changes requested by a review.

I also intend to look into some way that compiler modules
can get access to contexts without importing term.m
This could be done by moving the type, and its operations,
to a new module in the library, with an equivalence type
as well as forwarding predicates left behind in term.m.
Or it could be by adding a type functionally equivalent
to term.context to the HLDS, and having the code
that adds parse tree components to the HLDS convert
contexts to this new type. The former approach is simpler,
while the second is more flexible, in that it would allow us
in the future to replace our current contexts, which always
refer to a single line, with contexts that refer to a range
of line numbers. On the other hand, adding column number
info as well, e.g. to enable highlighting of just the characters
of an erroneous term, would require changes in standard library
modules anyway.

Opinions?

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.termx
Type: application/octet-stream
Size: 3472 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20220820/1a7b8cff/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.termx
Type: application/octet-stream
Size: 135090 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20220820/1a7b8cff/attachment-0003.obj>


More information about the reviews mailing list