[m-rev.] for post-commit review: io.environment.m and io.call_system.m

Zoltan Somogyi zoltan.somogyi at runbox.com
Tue Mar 8 09:37:29 AEDT 2022


The decision to carve these submodules out of io.m has been
agreed, and the mechanics are straightforward, so this is for
post-commit review by anyone.

All the moves of predicates to other modules that we have agreed to
a few days ago are done as of this change. The size of io.m
has been reduced from about 13,200 lines to 11,200 lines,
which is significant, but far from enough. So the I think
we (I) should go ahead and move the implementations
of the main I/O predicates (open/close, io.write_X etc)
to submodules, though this time these will be private
(non-user-accessible) submodules, and the declarations
of the predicates involves will remain in io.m, and won't be
marked obsolete. Does anyone object?

If not, I actually plan to start by moving the internal error
handling code to a new undocumented submodule, named
probably io.error, since all the other new private submodules
will need access to that functionality. (My original proposal
about breaking up io.m considered only the documented part
of its interface; io.m has a second interface section that does not
end up in the documentation, which declares quite a few predicates.)

Zoltan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Log.ecs
Type: application/octet-stream
Size: 1651 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20220308/99f7bb15/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: DIFF.ecs
Type: application/octet-stream
Size: 70613 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20220308/99f7bb15/attachment-0003.obj>


More information about the reviews mailing list