- From: <bugzilla@jessica.w3.org>
- Date: Sat, 20 Nov 2010 01:23:50 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11352 --- Comment #2 from Daniela Florescu <dflorescu@mac.com> 2010-11-20 01:23:49 UTC --- Mike, everything you said WOULD work, if modules would be required to disclose that information about their publicly exposed functions (signature AND semantic properties/annotations), and then stick to what they declared in the first place. But they DON'T today. Only signature is required. Semantic properties are left in the air. If a function f() is calling another function g() in an another module, and g's body definition changes (e.g. changes from being deterministic to being non-deterministic), so does f()'s, as a side-effect. And changes in the semantic definition of f() mean different optimization/indexing/caching/etc. Let me try to be more explicit: changes in the BODY of a function in ONE module (not visible signature) in a module can have effect on the semantics/compilation/optimization of ANOTHER module. That's not what I call independent compilation of modules. Hence my blocking bug request. This is not a good foundation for a modern programming language. Example: module 1. ========== module namespace ns1= uri1; import module namespace ns2=uri2; declare function ns1:foo1() { ns2: bar1() } declare function ns1: foo2() { ns2:bar2() } module 2 ======== module namespace ns2= uri2; import module namespace ns1=uri1; declare function ns2:bar1() { ns1: foo2() } declare % nondeterministic function ns2:bar2() external; ================ Neither one of the two modules can be compiled without the ***content**** of the other module, (I am talking here about signatures and/or headers) which is terribly bad. If I change the ns2:bar2 to be %deterministic, this changes the semantics/optimization/runtime/indexing/ caching/etc of both ns1:* functions ! I deal with tens of thousands of lines of XQuery right now, and that's a blocking bug. Thanks for taking it seriously, 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 Saturday, 20 November 2010 01:23:52 UTC