W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2011

[Bug 13745] [XQuery 3.0] "deterministic" and "nondeterministic"

From: <bugzilla@jessica.w3.org>
Date: Tue, 06 Sep 2011 19:15:38 +0000
To: public-qt-comments@w3.org
Message-Id: <E1R117S-0002MO-EY@jessica.w3.org>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=13745

--- Comment #1 from Jonathan Robie <jonathan.robie@gmail.com> 2011-09-06 19:15:37 UTC ---
(In reply to comment #0)
> I suspect our intent is that wherever the result of an expression is
> implementation-defined or implementation-dependent (i.e. varies from one
> implementation to another) then it is also implementation-defined or -dependent
> whether it is deterministic (i.e. varies from one execution to another).

This is not a general principle. For instance, documentation order is stable
even when it is implementation-defined.

> The XQuery specification often seems to use the phrase "nondeterministic" where
> "implementation-dependent" would be more appropriate. For example:
> 
> 2.4.3: "The effective boolean value of a sequence that contains at least one
> node and at least one atomic value may be nondeterministic in regions of a
> query where ordering mode is unordered."

We should either eliminate the term or define it. 

It looks like most users are in non-normative notes. The following use is
normative:

<quote>
In addition to ordered and unordered expressions, XQuery provides a function
named fn:unordered that operates on any sequence of items and returns the same
sequence in a nondeterministic order.
</quote>

The other uses all seem to refer to this one, directly or indirectly.

I would say that in this case the result should be implementation-defined, and
is not required to be stable. In the non-normative notes, I would change
"nondeterministic" to "implementation-defined".

I do not believe this changes any requirements on processors, so it's probably
an editorial change. I'll go ahead and make it, please reopen if I got this
wrong.

> I note also that "nondeterministic" is sometimes hyphenated, sometimes not; and
> that we sometimes say "is nondeterministic", sometimes "may be
> nondeterministic", with no apparent difference in intended meaning.

Yes, it looks like the hyphenated spelling is used only when discussing
annotations. I just eliminated these hyphens.

And I changed "may be nondeterministic" to "is implementation-dependent" in the
two places where I saw it.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Tuesday, 6 September 2011 19:15:44 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:15:15 GMT