[m-dev.] parallel conjunction
Peter Ross
petdr at miscrit.be
Thu Sep 28 01:30:57 AEDT 2000
On Wed, Sep 27, 2000 at 07:18:40AM -0700, Ralph Becket wrote:
> >From Fergus Henderson on 27/09/2000 15:08:06
> >
> > Another alternative would be to document `&' as a standard feature
> > equivalent to `,' with no additional restrictions on modes or
> > determinism -- just a hint to the implementation to try parallelizing
> > things here. The implementation would then have to issue warnings
> > rather than errors if its implementation-specific restrictions are not
> > met, and to treat such parallel conjunctions which don't meet its
> > restrictions as if they were ordinary conjunctions.
>
> This one sounds about right to me.
>
> > The disadvantage of this approach is that it would require changes
> > to the current implementation, and that you'd only get warnings
> > rather than errors. The advantage is that it would ensure portability
> > of programs using parallel conjunction to implementations (or grades ;-)
> > that don't support real parallelism.
>
> How much of a change to the current implementation would be required?
> This parallel conjunction hint is rather like promise declarations - the
> compiler is free to take advantage of it if it feels it can do so, otherwise
> it has no effect. On this basis, I'd rather go with option no. 3.
> [Btw, do we currently issue warnings about promises the compiler can't
> decipher?]
>
No we don't issue warnings. Accumulator introductions checks to
see whether or not an assertion has a property or not, rather then
determining when reading the assertion in what properties it implies.
Pete
--------------------------------------------------------------------------
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