- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 08 Nov 2006 00:53:51 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1705
------- Comment #38 from simeon@us.ibm.com 2006-11-08 00:53 -------
Hi Michael,
Yes I think your comment and suggestions totally make sense there. I think
that's more or less what I had in mind.
Thanks for the suggestions. I do believe that addresses your earlier problem in
#28. Please let me know asap if you still see other issues as I am trying to
produce a new version of the document as we speak.
- Jerome
(In reply to comment #36)
> You can break the M-N-L cycle by adding to 5.11 the "AnyURI0 != AnyURI1" etc.
> machinery from Comment #23. But then you have the problem I raised in Comment
> #28: the presence or absence of a self-import in a module has no effect on the
> statEnv that its expressions "see". However, I think you can fix that...
>
> You say "There should be some changes to the =>stat judgment so that it passes
> only the relevant part of the static environment between modules." One way to
> do this would be to remix some more stuff from Comment #28. Make the =>stat
> judgment be:
>
> statEnv_N_in ; statEnv_E_in ; AnyURI |- PrologDeclList_in
> =>stat
> statEnv_N_out ; statEnv_E_out with PrologDeclList_out
>
> statEnv_N is the "normal" statEnv, used for all the usual purposes.
>
> statEnv_E is the "export" statEnv, containing (conceptually) the funcType and
> varType of the current module's "siblings". (In reality, it doesn't contain
> entries for *all* the functions and variables of a module's siblings, but it
> does contain all the ones that the module depends on, which is what matters.)
>
> The big =>module_statEnv rule in 5.2 would say:
>
> ...
> statEnvDefault |- PrologDecls gather function signatures statEnv_E_0
> statEnvDefault ; statEnv_E_0 ; AnyURI |- ...1
> =>stat
> statEnv_1 ; statEnv_E_1 with PrologDeclList1'
> ...
> statEnvDefault ; statEnv_E_[n-1] ; AnyURI |- ...n
> =>stat
> statEnv_n ; statEnv_E_n with PrologDeclListn'
> --------
> AnyURI =>module_statEnv statEnvn_E_n
>
> (Note that all modules start out with just statEnvDefault as their "normal"
> statEnv.)
>
> So that would take care of initializing the export-env and propagating it
> between sibling modules (and propagating it out to whatever called
> =>module_statEnv). =>stat would only update it for var decls (also updating the
> normal statEnv), and would only consult it for self-imports ("AnyURI0 =
> AnyURI1"), copying its var + func info into statEnv_N_out.
>
Received on Wednesday, 8 November 2006 00:54:00 UTC