[m-rev.] for post commit review: document the non-obvious complexity of insts

Julien Fischer jfischer at opturion.com
Sat Jan 11 21:20:05 AEDT 2020


On Sat, 11 Jan 2020, Zoltan Somogyi wrote:

> I have discussed this topic more than once in person and
> on the mailing list; the added comment is paraphrased from
> a m-rev discussion in oct 2015. For review by anyone.


> diff --git a/compiler/prog_data.m b/compiler/prog_data.m
> index 93f630062..f1661bf3b 100644
> --- a/compiler/prog_data.m
> +++ b/compiler/prog_data.m
> @@ -1071,6 +1071,63 @@ prog_constraint_get_arg_types(Constraint) = Constraint ^ constraint_arg_types.

...

> +    % The term "ground" answers the second question for a given var at a given
> +    % program point: all the var's nodes are bound. The different meanings
> +    % of "ground" differ in what restrictions, if any, they impose on
> +    % the answers to the third, fourth and fifth questions. Just by combining
> +    % the answers to "do we care about each of those three kinds of
> +    % distinctions or not", we have 2^3=8 possible meanings of "ground".
> +    % And they are NOT quite independent; in code in which some function
> +    % symbols of a type have higher order arguments while other function
> +    % symbols do not, the answers to the fourth and fifth questions
> +    % are in effect coupled together.
> +    %
> +    % And "ground" does not answer the second question for a given var
> +    % *unless* specify the program point. If you know that e.g. an argument X

     ... *unless* you specify the program point.

Looks fine otherwise.

Julien.


More information about the reviews mailing list