[m-dev.] semantics with any insts

Peter Schachte schachte at csse.unimelb.edu.au
Fri Mar 31 18:36:38 AEDT 2006


On Thu, Mar 30, 2006 at 07:05:12AM +0800, Ian MacLarty wrote:
> Maybe the determinism category names should be reviewed.  Instead of
> having the existing determinism categories such as 'det', 'semidet',
> 'multi', etc, we should have mode attributes 'can_fail',
> 'leaves_choicepoint', 'prune_choicepoints' and possibly others.

But in the absence of any insts, the old declarative names are
appropriate; it's only the introduction of any insts that drove a
wedge between the declarative reading and the procedural one.  Where
there *are* any insts, using names that talk about choicepoints would
make sense.  But I don't think it should be wrong (or even warned
about) to declare a constraint pred to be nondet, even if it doesn't
leave a choicepoint.

If you're concerned about code generation and efficiency, it would
make perfect sense to use intermodule optimization to infer that a
constraint predicate declared nondet should be compiled as model det.

-- 
Peter Schachte              The government of the United States does not, in
schachte at cs.mu.OZ.AU        its policies, express the decency of its people.
www.cs.mu.oz.au/~schachte/      -- Jerry Fresia 
Phone: +61 3 8344 1338      
--------------------------------------------------------------------------
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