[m-rev.] for review: dependent AND parallelism via inline C code

Zoltan Somogyi zs at csse.unimelb.edu.au
Mon Nov 3 15:31:25 AEDT 2008

On 29-Oct-2008, Peter Wang <novalazy at gmail.com> wrote:
> > +    % XXX The implementation actually allows a future to be signalled
> > +    % more than once, provided the signals specify the same value.
> >      %
> Replace the XXX and the sentence before it with something like:
>     A future may be signalled more than once if it is passed to a procedure
>     multiple times, but then it must be signalled with the same value.

Under what circumstances can it be passed to a procedure multiple times?
Superhomogeneous form requires the arguments of a call to be *distinct*
variables. Some optimizations such as excess assignment elimination may
replace distinct input arguments with multiple copies of the same variable,
but as far as I know this shouldn't happen for output arguments.

> >      new_future(Future::uo),
> >      [will_not_call_mercury, promise_pure, thread_safe, will_not_modify_trail],
> To prevent intermodule inlining `may_not_duplicate' should be added.
> Similarly for the following.

I have done that, but what would be the problem with intermodule inlining?

I have followd your other suggestions.

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

More information about the reviews mailing list