[m-dev.] semantics with any insts

Peter Schachte schachte at csse.unimelb.edu.au
Wed Mar 29 15:22:08 AEDT 2006


On Wed, Mar 29, 2006 at 01:26:58PM +1000, Peter Stuckey wrote:
> An answer in CLP (with any insts) is a set of constraints not known to 
> be false, and determinism tells you
> how many sets of constraints you can have.  This is the S semantics for 
> LP/CLP.

This doesn't seem very good for Mercury, because it's very
operational.  For example, is this predicate deterministic:

	p(X) :- X =< 4, X >= 2.

Your semantics distinguishes between {{2=<X, X=<4}} and
{{X=2},{X=3},{X=4}} as two possible semantics for this; the first one
is det while the second one was multi.  So the user of a solver type
has to know too much about changable implementation details.

If the user explicitly handled the constraint store (which I'm not
recommending), then that could be OK.  But to me the determinism of
p/1 should indicate how many solutions for X p(X) has.

-- 
Peter Schachte              Before you insult someone, you should walk a
schachte at cs.mu.OZ.AU        mile in their shoes. That way, when you insult
www.cs.mu.oz.au/~schachte/  them, you are a mile away, and you have their
Phone: +61 3 8344 1338      shoes. -- Frieda Norris 
--------------------------------------------------------------------------
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