[m-dev.] choice point deforestation

Simon Taylor stayl at cs.mu.OZ.AU
Wed Sep 22 16:31:43 AEST 1999


 
> On 22-Sep-1999, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> >  
> > > By applying a deforestation-like "conjunctive partial deduction"
> > > transformation to the conjunction `mymember(X, Data), test(X)',
> > > we can push the pruning further in, to the point where we avoid
> > > creating the choice points at all.

> What's the current status of that code?

It's not well tested, but it is a fairly simple extension of deforestation,
so there shouldn't be too many problems.
 
> Constraint propagation is similar to the optimization that I proposed,
> but not quite the same.  The optimization that I proposed did not
> involve reordering (well, no more reordering than is needed for
> ordinary deforestation) which makes it a bit simpler.  You can apply
> it even if the <Test> goal has outputs.

The restriction that the constraints have no outputs is really just a
heuristic in that code. It also means that the code does not need to
avoid worsening performance of cases where there are constraints on
the outputs of test goals that are pushed into other goals.

Simon.
--------------------------------------------------------------------------
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