[m-dev.] IL standard library problems

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Nov 7 19:35:53 AEDT 2007


On Wed, 7 Nov 2007, Jonathan Morgan wrote:

> On Nov 7, 2007 4:42 PM, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>> On Wed, 7 Nov 2007, Jonathan Morgan wrote:
>>> I have been trying to build the standard library in the IL grade
>>> again.  A few problems that I found:
>>>
>>> 1. There was a warning that variables weren't referenced for io.do_make_temp/3.
>>
>> A warning from what?  mmc, gcc ...?
>
> Sorry, that wasn't clear at all.  It was due to variables not being
> used in the foreign code, as the error below shows.  Easy to fix, but
> does halt the compilation of the standard library.
>
> io.m:9915: In the C# code for predicate `io.do_make_temp'/8:
> io.m:9915:   warning: variables `Dir, Prefix' do not occur in the C# code.

As you say, easy to fix.

>>> 2. Building the new pretty printer fails, because IL does not support
>>> mutable variables.  Is it necessary to support the new pretty printer
>>> for anything?
>>
>> The debugger uses it, but that doesn't work with the IL backend anyway.
>
> Should it be not included at all for grades without mutables, or
> should I just ignore this and fix the mutable problem when I have
> time?

It depends on how you intend to fix it?

A temporary fix would be to provide C# foreign_procs for any
affected predicates, i.e. the ones that call the mutable access preds.
The C# foreign_procs would override the Mercury clauses used by the
C backends.

Julien.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions:          mercury-developers-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the developers mailing list