[m-rev.] for review: new machinery in make.dependencies.m

Julien Fischer jfischer at opturion.com
Mon Oct 2 12:59:44 AEDT 2023


On Sat, 30 Sep 2023, Zoltan Somogyi wrote:

> For review by anyone. I am particularly seeking feedback
> on whether you guys think the few test cases for which the
> old/new comparison in the diff detected changes are
> indicative of a problem with this diff, or not. (I have looked
> at it and couldn't decide, maybe you have some ideas
> I have overlooked. The failure reports for two of the
> test cases are attached; the others are similar.)
>
> I am also depending on you guys to test out this diff
> on real code, since you work with code bases using mmc --make,
> which I don't do. I would also like to know whether you want to
> do such tryouts before this diff is committed, or after.

I will test it after the diff is committed; the obvious test case for me
is to use G12, but I will need to update that from Mercury 22.01.

> Implement new machinery in make.dependencies.m.
> 
> compiler/make.dependencies.m:
>     The task of this module is to find which are the source files
>     needed to build each target file of an "mmc --make" invocation.
>     The original machinery used for this purpose used three-level towers
>     of closures, which made code the hard to read and to understand, and
>     also made it effectively impossible to change the argument list
>     of any of the predicates involved without also making the same change
>     to all the other predicates used at the same level tower level.

Delete the first "level there.

The diff looks fine to me; that said, I'm not really the right person
to be reviewing it in the first place. Peter should be able to comment
on things like caching with more authority.

Julien.


More information about the reviews mailing list