[m-dev.] Adding Loops to Mercury

Mark Brown mark at mercurylang.org
Wed Jan 8 03:33:28 AEDT 2014


On Mon, Jan 6, 2014 at 12:37 PM, Peter Schachte <pschachte at gmail.com> wrote:
> As for modes, I assumed they'd be:
>
> :- mode sequence_empty(in).
> :- mode sequence_empty(out).
>
> :- mode sequence_next(in, out, out).
> :- mode sequence_next(out, in, in).

In that case, IIUC, the example in your paper at the bottom of page 10
is a mode error, because sequence_next/3 would be called with initial
insts (bound(thread(ground, free)), free, free), which doesn't match
any of the supplied modes.

Cheers,
Mark.



More information about the developers mailing list