[mercury-users] Minimal model tabling and constraint solvers

Julien Fischer juliensf at cs.mu.OZ.AU
Fri Jan 20 14:26:05 AEDT 2006


On Thu, 19 Jan 2006, Peter Hawkins wrote:

> Hi...
>
> I want to use minimal model tabling and a constraint solver (which
> needs trailing) in the same program. While I realise that there are
> fundamental reasons why these two features cannot be used at the same
> time (since suspended goals and trailing don't mix), I want to use
> them in different parts of the same program, not simultaneously. I
> spoke to Zoltan about this briefly at  PADL and he seemed to think
> this might be possible. Can I add it to the wishlist? These are both
> such great declarative features it's a pity they can't be used
> together...
>

You can certainly add it to the wishlist, perhaps just under the bit
about getting unique modes working ;-)

> (The actual application is in program analysis. Minimal-model tabling
> would be used to traverse the flow-graph and extract constraints to
> be solved later in a separate pass)
>

Do you mean that trailing would not be required in the parts of the
program that use minimal model tabling and vice versa?  In that case
it might be possible to make it work.

We can already optimise away redundant trailing operations from parts of the
program that don't modify the trail (the --analyse-trail-usage option) and we
should be able to do the same for minimal model tabling (e.g remove redundant
code that the tabling transformation adds around negated contexts).  The
obvious caveat here is that although the trail usage optimization removes
some of the trailing operations, by no means does it remove all of them.
Any attempt to remove redundant code added by minimal model tabling is likely
to run into similar problems.

The other issus is whether the trailing version of the runtime conflicts
in any way with the minimal model tabling version; and if so, can we avoid
this.

Cheers,
Julien.
--------------------------------------------------------------------------
mercury-users mailing list
post:  mercury-users at cs.mu.oz.au
administrative address: owner-mercury-users at cs.mu.oz.au
unsubscribe: Address: mercury-users-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-users-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the users mailing list