[m-dev.] Fw: Re: Impurity annotations on clauses

Julien Fischer juliensf at csse.unimelb.edu.au
Tue Jan 23 17:15:31 AEDT 2007


On Tue, 23 Jan 2007, Ralph Becket wrote:

> Julien Fischer, Monday, 22 January 2007:
>>
>> On Mon, 22 Jan 2007, Mark Brown wrote:
>>
>>> Fourth, situation 8 could be obviated by introducing a sequential
>>> conjunction
>>> operator.
>>
>> I think this preferable to say requiring the module to be compiled with
>> --no-reorder-conj** for at least two reasons:
>>
>> (1) --no-reorder-conj requires you to remember to actually compile with
>>     that option enabled; an operator doesn't.
>>
>> (2) a sequential conjunction operator is a much finer grained solution
>>    than --no-reorder-conj (which has module level granularity).
>
> And (3) it makes it clear that there is an important operational aspect
> to the code.  For example (taking && as our sequential conjunction
> operator) where we wish to avoid a division by zero:
>
> 	Denom \= 0  &&  Quot = Num / Denom

I don't think we should take && as the sequential conjunction operator.
(It would be more natural as the parallel conjunction operator.)  &> was
another suggestion - it has the advantage of indicating that there
is some directionality involved.

Another effect of sequential conjunction should be to suppress parallel
conjunction (of the implicit variety).

Julien.
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at csse.unimelb.edu.au
Administrative Queries: owner-mercury-developers at csse.unimelb.edu.au
Subscriptions:          mercury-developers-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the developers mailing list