- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 18 Jul 2005 07:22:30 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1708
Summary: [FS] (editorial) recommendation for static typing
extensions
Product: XPath / XQuery / XSLT
Version: Last Call drafts
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P4
Component: Formal Semantics
AssignedTo: simeon@us.ibm.com
ReportedBy: dflorescu@mac.com
QAContact: public-qt-comments@w3.org
In 6.1 Static Typing Extensions, the FS specification states the following:
"It is not recommended for a static typing extension to change the
static typing behavior of expressions that specify a type explicitely
(treat as, cast as, typeswitch, function parameters, and type
declarations in variable bindings), since the purpose of those
expressions is to impose a specific type."
This kind of recommendation is not appropriate for a standard specification.
In fact, many desirable static typing extensions will violate this recommendation.
This is likely to happen if the specified type is a supertype of the static type result.
Consider the following example:
declare function local:f($x as xs:decimal) as item* {$x};
local:f(3)+4
The static type analysis can infer that the function retun type is
xs:decimal, which is more specific than item*. So an implementation
may correctly infer xs:decimal as the static type of local:f()
such that that the subsequent static type analysis of addition will be OK.
Otherwise, this query will unnecessarily yield pessimestic type errors.
Received on Monday, 18 July 2005 07:22:34 UTC