[Bug 1578] [FS] technical: 4.1.5 Function Calls: overloading is restricted

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





------- Additional Comments From jmdyck@ibiblio.org  2005-09-01 02:55 -------
(In reply to comment #1)
>
> <<
> Note that this normalization rule depends on the function signatures,
> which is used to obtained the types of the function parameters
> (SequenceType1,...SequenceTypen). For user-defined functions, the function
> signature can be obtained from the XQuery prolog where the function is
> declared. For built-in functions, the signature is given in the F&O document.
> >>
> 
> That wording does not rely on the static environment which avoids the
> cyclicity issue.

Presumably you're talking about the circularity I raised in Bug 1577. However,
that circularity was:
    normalization of a function call
        depends on
    the expected parameter types
        which (in the case of overloaded functions) depends on
    the particular signature used
        which is determined by
    the static types of the arguments
        which is provided by
    static type analysis of the arguments
        which is performed on
    the core-syntax versions of the arguments
        which results from
    normalization of the arguments.

That is, the circularity was "Normalization depends on Static Type Analysis,
which depends on Normalization". The circularity was broken at the former
dependency, specifically "the choice of signature depends on the static types of
the arguments", by eliminating any choice of signature.

Thus, your comment:
> That wording does not rely on the static environment which avoids the
> cyclicity issue.
is inappropriate for a few reasons:

(1)
The circularity is already broken.

(2)
Normalization's reliance on the static environment is not something to be
avoided. After all, section 3.2.2 tells us that "normalization is always applied
in the presence of a static context".

(3)
Even if you were trying to eliminate that reliance, you can't do it simply by
avoiding the words "static environment". That is, to say:
>    For user-defined functions, the function signature can be obtained
>    from the XQuery prolog where the function is declared. For built-in
>    functions, the signature is given in the F&O document.
and suggest that the normalization rule has access to this information by some
means other than the static environment, that's just silly.

Please reinstate the wording "this normalization rule depends on the static
environment".

Received on Thursday, 1 September 2005 02:55:49 UTC