Encounter order: take 2

Tim Peierls tim at peierls.net
Thu Jan 31 05:20:03 PST 2013


On Thu, Jan 31, 2013 at 6:50 AM, Paul Sandoz <paul.sandoz at oracle.com> wrote:

> An intermediate operation must preserve encounter order of output stream
> if:
>
> a.1) the input stream to the intermediate operation has encounter order
> (either because the stream source has encounter order or because a previous
> intermediate operation injects encounter order); and
> a.2) the terminal operation preserves encounter order.
>
> An intermediate operation may not preserve encounter order of the output
> stream if:
>
> b.1) the input stream to the intermediate operation does not have
> encounter order (either because the stream source does not have encounter
> order or because a previous intermediate operation clears encounter order);
> or
> b.2) the terminal operation does not preserve encounter order *and* the
> intermediate operation is in a sequence of operations, to be computed,
> where the last operation in the sequence is the terminal operation and all
> operations in the sequence are computed in parallel.
>

Shouldn't a1 && a2 == !(b1 || b2) ? The extra condition in b2 isn't
reflected in the a side.

--tim


More information about the lambda-libs-spec-observers mailing list