[m-dev.] New release?

Mark Brown mark at mercurylang.org
Mon Oct 26 19:20:05 AEDT 2015

Hi Julien,

On Mon, Oct 26, 2015 at 2:28 PM, Julien Fischer <jfischer at opturion.com> wrote:
> Hi Mark,
> On Mon, 26 Oct 2015, Mark Brown wrote:
>> [Scripts] will need to be able to compile in the grade determined by
>> configure for compiling the compiler, compute_grade library, and the
>> standalone programs. The "double maintenance" issue is that this
>> grade, on all platforms, has to be the same one that is selected via
>> an unconstrained search using the new method.

Actually, that's not true; I was confusing the grade for compiling the
compiler with the default grade for compiling applications. The
unconstrained search should select the latter, if given.

So would the effect of configuring a default grade for applications
would be to set the most preferred values used in step 11 of the
search algorithm?

> I have two issues here:
> 1.  Should you be able to use the new method of specifying a grade when
> building the Mercury system itself?  I'm saying no: for the source
> distribution you don't have a choice of grade**, non-developers are better
> off going with what configure decides and developers ought to know how
> to specify a grade directly.

I'd like to use the new system when a bootstrapping compiler is being
used. I know how to select the grade I want from a list, but I can
never remember the correct spelling or canonical order. In practice I
use --output-libgrades a lot.

See next answer, though.

> 2.  Do we continue to support mmake (and its attendent shell scripts) as
> a user level feature (as opposed to just something that builds the
> Mercury system)?  If not, then we don't need to support the new method
> with them.  (Note that mmake already lacks many features that mmc --make
> has, in addition to its documented problems with sub-modules etc.)

I wouldn't consider it compulsory. It would be nice to include a user
level standalone program that simply outputs the chosen grade given
new options, which could be used with a --grade option. E.g., mgnuc
--grade `choose_grade --feature profdeep`.


More information about the developers mailing list