[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