[m-dev.] Re: [m-rev.] EDCG implementation

Peter Schachte schachte at cs.mu.OZ.AU
Sat Mar 17 09:24:14 AEDT 2001


[I've moved the discussion to mercury developers.]

> > From: Peter Nicholas MALKIN [mailto:pnmalk at students.cs.mu.oz.au] 
> > In summary:
> > 	- EDCG predicate declarations are complete and final, and cannot
> > 	  be circumvented.
> > 	- Predicates without EDCG declarations can have EDCG argument
> > 	  forms inferred but only if specified (compiler option
> > 	  `--infer-edcgs').

Do they have to use the -->> operator, too?  Ie, if I have a predicate
defined:

	foo(X, Z) :-
		bar(X, Y),
		baz(Y, Z).

and bar/2 and baz/2 use EDCG arguments, and I've specifies --inher-edcgs,
will it infer that foo/2 uses those EDCG arguments?

I don't think it should, because the programmer has not indicated her
awarenes that the body of foo/2 is sequential and not commutative.

-- 
Peter Schachte <schachte at cs.mu.OZ.AU>  The mind of a bigot is like the pupil
http://www.cs.mu.oz.au/~schachte/      of the eye. The more light you pour
Phone:  +61 3 8344 9166                upon it, the more it will contract.
Fax:    +61 3 9348 1184                    -- Oliver Wendell Holmes Jr. 
--------------------------------------------------------------------------
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