[Bug 11352] New: %nondeterministic and independent compilations of modules

http://www.w3.org/Bugs/Public/show_bug.cgi?id=11352

           Summary: %nondeterministic and independent compilations of
                    modules
           Product: XPath / XQuery / XSLT
           Version: Member-only Editors Drafts
          Platform: Macintosh
        OS/Version: Mac System 9.x
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: XQuery 3.0
        AssignedTo: jonathan.robie@redhat.com
        ReportedBy: dflorescu@mac.com
         QAContact: public-qt-comments@w3.org


Dear all,

the way the %deterministic and %non-deterministic functionality is designed
right now
disallows independent compilation of XQuery modules, and this is a blocker (I
think).

http://www.w3.org/XML/Group/qtspecs/specifications/xquery-11/html/xquery-11.html#FunctionDeclns

The reason is: %nondeterministic can ONLY be added on external functions, and
it is not allowed 
on user-defined functions.

Yes, it is true that for user-defined functions, this property can be inferred
by the compiler.

But in case of modules that invoke other modules, that requires the bodies of
ALL modules to be
compiled together. Hence, no independent  compilation of XQuery
modules is allowed by the current version of the specification, and that's a
serious problem.

The solution is to require the %nonderministic to be added for ALL functions
that are nondeterministic
(user-defined as well as externals).
The compiler should double check and give an error in case of inconsistency
between what the programmer says and what can be automatically inferred.

Note: that is the reason of why modern languages like Java require the
exceptions to be declared by hand, 
even though this can also be detected by the compiler. That's for independent
compilation of code.

Am I missing something ?

Best regards
Dana

-- 
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 Friday, 19 November 2010 18:31:08 UTC