[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