[m-rev.] for review: split up term.m

Zoltan Somogyi zoltan.somogyi at runbox.com
Mon Feb 2 00:16:32 AEDT 2015



On Sun, 1 Feb 2015 23:13:14 +1100 (AEDT), Julien Fischer <jfischer at opturion.com> wrote:
> > We have already discussed the split-up, but I would like review
> > comments, from anyone, about the name of the new module,
> > term_conversion.m. (Note that only four modules in the entire
> > Mercury system import it, so splitting it off seems like a good idea.)
> 
> Either that or just term_conv.m would be fine.

I would prefer to spell "conversion" in full.

> Another change that may also be worth considering is shifting the context/0
> type into its own module.  In the Mercury system itself, I suspect there are
> quite a few modules importing term.m solely because they require the definition
> of the context/0 type.  More generally, "contexts" are things that are useful
> in contexts not related to Herbrand terms.

That is a good idea. However, that move would immediately break backwards
compatibility, so it should be delayed. I will add a NOTE_TO_IMPLEMENTORS,
though.
 
> If any
> changes to the term module that break backwards compatibility are delayed until
> just before we are ready to branch for the next release then that's fine by me.

Will you do the next release? If yes, do you have an idea about when?

> > I propose that we fix the second and third problems by picking a good name
> > for each predicate, whether it is an existing name for the job or not, moving
> > the implementation to that name, make any existing predicates that do that
> > job forward to the one with the good name, and mark the old predicate names
> > as obsolete.

Tomorrow (actually, today :-) I will do the all the steps but the last, since
these should not break compatibility.

> One comment concerning the diff: s/Rebame/Rename/

Thanks for the catch.

By the way, I *could* set up Mmakefile rules that will check all Mercury modules
in each directory for spelling errors. That could catch such errors automatically
when run. However, I don't think it would be a good idea to run those tests
automatically, since they would require any new variable names to be listed
in a file of words that *we* know to have correct spelling, but the spellchecker
doesn't, and doing that e.g. on every bootcheck would be a nuisance. However,
before e.g. a new release, it could come in handy. Any opinions?

Zoltan.





More information about the reviews mailing list