- From: <bugzilla@wiggum.w3.org>
- Date: Tue, 19 Jul 2005 20:57:23 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1431
simeon@us.ibm.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
------- Additional Comments From simeon@us.ibm.com 2005-07-19 20:57 -------
This is certainly possible. Here is the revised static typing rule
which achieves Mihael's proposed semantics.
statEnv |- Expr1 : Type1
statEnv |- Expr2 : Type2
statEnv |- Type2 <: xdt:anyAtomicType ?
Type3 = prime(Type1)
Type4 = convert_untypedAtomic(Type3, xs:double)
ItemType1, ...,ItemTypen = Type4
Type0 in { xs:integer, xs:decimal, xs:float, xs:double, xdt:yearMonthDuration }
statEnv |- ItemTypei can be promoted to Type0 1 <= i <= n
statEnv |- Type2 <: Type0
--------------------------------------------------------------------------------
statEnv |- fn:sum(Expr1,Expr2) : Type0 · aggregate_quantifier(quantifier(Type1))
Note that the resulting type does not need a union anymore which is nice.
Note also that this will always reject cases where the user writes:
fn:sum(//somedates)
since this will be normalized to
fn:sum(//somedates,0)
and 0 is not a date...
- Jerome
Received on Tuesday, 19 July 2005 20:57:27 UTC