This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
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." 3.2.1: "In a region of a query where ordering mode is unordered, the result of a numeric predicate is nondeterministic, as explained in 3.10 Ordered and Unordered Expressions." 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. 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).
(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.