[m-dev.] semantics with any insts

Peter Schachte schachte at csse.unimelb.edu.au
Mon Apr 3 11:29:39 AEST 2006


On Mon, Apr 03, 2006 at 02:03:24AM +0200, Ian MacLarty wrote:
> On 3/31/06, Peter Schachte <schachte at csse.unimelb.edu.au> wrote:
> > But in the absence of any insts, the old declarative names are
> > appropriate;
> 
> No they're not.  You have the same problem with partial instantiation,
> or 'unused' modes.

I thought Mercury didn't support partial instantiation?  You're right
about unused modes (I assume this is free>>free), but aren't they
pretty much unused?  I can't see when you'd use one.

Anyway, the crux of my objection to turning determinism into (or
accepting that it has become) an operational rather than a declarative
thing, is that it then forces users, solver writers, and the Mercury
implementation to commit to implementation decisions that should be
changable.  Maybe today a solver writer implements a primitive
constraint by backtracking over possible solutions because it's easy,
and tomorrow does something clever to avoid backtracking.  It's just
an implementation decision, but still all users of that constraint
must now modify their code.

Assertions about the runtime behaviour of the code, rather than about
the meaning of the code, should be stated in some kind of pragma
declaration.

-- 
Peter Schachte              The art of progress is to preserve order amid
schachte at cs.mu.OZ.AU        change, and to preserve change amid order.
www.cs.mu.oz.au/~schachte/      -- Alfred North Whitehead 
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