- From: <bugzilla@jessica.w3.org>
- Date: Tue, 03 May 2016 10:06:53 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29586
--- Comment #8 from Tim Mills <tim@cbcl.co.uk> ---
(In reply to John Snelson from comment #6)
> (In reply to Tim Mills from comment #3)
> > This appears to prevent a processor from using static type analysis to avoid
> > unnecessary function coercion. For example, I think this requires that
> >
> > function() { 1 } instance of function() as xs:integer
> >
> > returns false.
>
> I agree that your expression above should return false. I think it would be
> reasonable to allow an implementation to determine a stricter return type
> for the inline function using static typing if it can.
>
> Of course, your own static typing implementation could easily carry two
> types for the inline function expression - the "official" static type, and a
> static type for the way it behaves in practice. That would allow you to
> avoid the function coercion you were worried about.
Unfortunately that would have to permeate down to every expression to get the
"right" answer. e.g.
(if (condition()) then function() { 1 } else function() { 2 }) instance of
xs:integer
I'm lobbying to allow
function() { 1 } instance of function() as xs:integer
to be true or false, in the same way that
1.3 + 0.7 instance of xs:integer
is implementation defined.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Tuesday, 3 May 2016 10:07:01 UTC