[m-dev.] for review: constraint propagation

Peter Ross petdr at cs.mu.OZ.AU
Tue Feb 29 11:31:50 AEDT 2000


Simon Taylor wrote:
> Fergus wrote:
> > Here you propagate the constraints into all the disjuncts in a disjunction.
> > That might increase code size, so it bears thinking about.
> > What's the worst-case scenario?
> > Would there be cases where enabling constraint propagation
> > will end up increasing code size with no benefit?
> 
> Yes. In practice, I don't think it will be much worse than follow_code.
> 
> > If so, is there anything we can do to avoid such cases?
> 
> Not really.
>  

Wim and I have been doing some talking about using the binding time
analysis to do a form of constraint propogation.

The problem with doing unfolding is that to obtain the most
specialisation, you want to push calls from outside some branched goal,
into the branched goal so that you get the benefit of more precise
bindings to variables, providing that this is an actual benefit.

We have a feeling that using the constraints of the BTA we can determine
which goals are most likely to be useful to push into the branch.  We
may be able to use a similar technique for reordering the goals.

Pete
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list