[Bug 11352] %nondeterministic and independent compilations of modules

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

--- Comment #10 from Michael Kay <mike@saxonica.com> 2011-01-12 11:03:24 UTC ---
(In reply to comment #9)
> I just want to note that Dana is correct in her assessment that automatic
> inference of %nondeterministic does require inspection of method bodies, and
> together with cyclical dependencies between modules this means that requires to
> inspect method bodies of other modules during compilation.
> 

But this analysis has nothing to do with %deterministic or %nondeterministic
annotations. When a module is compiled, the compiler needs information about
the modules that it imports, and in consequence, if two modules M1 and M2 each
imports the other, then they must be compiled together. To break such a cyclic
dependency, we would need to introduce some kind of interface definition as an
intermediary (so neither module refers to the other, but both refer to the
interface definition).

And separate compilation is still possible to the extent that modules do not
have cyclic dependencies.

Equally, the inferencing of %[non-]deterministic is problematic in the case of
recursive functions, whether or not they appear in different modules. So
perhaps there is a problem, but the title of the bug doesn't characterize it
correctly?

-- 
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 Wednesday, 12 January 2011 11:03:26 UTC