[m-users.] minimal model pragma and compilation options

Zoltan Somogyi zoltan.somogyi at runbox.com
Fri Jan 14 11:43:23 AEDT 2022


2022-01-14 09:32 GMT+11:00 "C. M. Sperberg-McQueen" <cmsmcq at blackmesatech.com>:
>> What must I do to persuade mmc --make to compile a program that uses
>> minimal-model tabling? 

You must first install the Mercury runtime and standard library
in a grade that supports minimal model tabling. Since most people
who use Mercury do not use minimal model tabling, no such grade
is installed by default. Which means that ...

> I have not yet found an answer to this question but I am beginning to
> suspect that it will require recompiling Mercury.

... this correct.

>> On a related note, is there any way to find out reliably which grades of
>> Mercury were installed when I installed the Mercury package?  

When you install Mercury, the first step is configuring your system.
This allows you specify the set of grades to install. The last part
of the output of configure prominently lists those grades.

To enable the installation of minimal model grades, you can
specify the option --enable-mm-grades to the configure script.

> For the record, I have found two ways:
> 
> (1) The description of the Debian packages at [1] lists a set of
> grades.  Since I installed the packages following the instructions at
> [1], that list has a reasonable chance of being accurate.
> 
> [1] http://dl.mercurylang.org/deb/
> 
> (2) The directory /usr/lib/mercury/lib, which I found by looking at
> /usr/lib/mmc and /usr/lib/mercury*, contains directories with names that
> look a lot like names of grades.  It will surprise no one, least of all
> me, that the list of subdirectories is similar but not identical to the
> list of grades in the document at [1].

These will tell you how *someone* has configured *some* system,
but won't tell you how *you* configured *your* system.
 
> Unfortunately for me, neither the documentation

I will look into fixing that.

Zoltan.


More information about the users mailing list