W3C home > Mailing lists > Public > public-qt-comments@w3.org > July 2008

[Bug 5915] [FS] rules for XPST0005

From: <bugzilla@wiggum.w3.org>
Date: Thu, 31 Jul 2008 07:54:37 +0000
To: public-qt-comments@w3.org
Message-Id: <E1KOSzd-0000vH-Au@wiggum.w3.org>

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


Tim Mills <tim@cbcl.co.uk> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |tim@cbcl.co.uk




--- Comment #2 from Tim Mills <tim@cbcl.co.uk>  2008-07-31 07:54:37 ---
We have a type rule based on the description of fs:convert-operand in 7.1.1 The
fs:convert-operand function:

If $actual is the empty sequence, returns the empty sequence.

In fact, we actually borrow the rules in C.2 Mapping of Overloaded Internal
Functions, because they cover the case of union types.  Consider

U = (T1 | T2)
T1 <: xs:untypedAtomic?
not(T2 <: xs:untypedAtomic?)

Following the static typing rules in 7.1.1:

statEnv  |-  not(U <: xs:untypedAtomic?)
-------------------------------------------------------------
statEnv |-  (FS-URI,"convert-operand")( U, Type2) : U

This is clearly wrong.

It seems unfortunate that introducing a rule to improve the precision of a
static typing judgement leads us to fall foul of another area of the
specification.

Is there a good reason why the rule:

    * The fn:data function and all functions in the fs namespace applied to
empty parentheses ().

is not stated as:

    * The fn:data function and all functions in the fs namespace whose statoc
return types can be determined to be the empty type.


-- 
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 Thursday, 31 July 2008 07:55:10 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 31 July 2008 07:55:11 GMT