This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 29342 - [XSLT30] Arrow Expression streamability rules do not take dynamic function calls into account
Summary: [XSLT30] Arrow Expression streamability rules do not take dynamic function ca...
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Candidate Recommendation
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-17 17:25 UTC by Abel Braaksma
Modified: 2016-10-06 18:42 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2015-12-17 17:25:18 UTC
Under 19.8.8 we say for Arrow Expressions:

See 19.8.8.13 Streamability of Static Function Calls.

But arrow expressions can take any parenthesized expression, which is not the same as "just" a static function call.
Comment 1 Michael Kay 2016-01-14 17:56:27 UTC
Since an Arrow Expression can be transformed into some other expression, we can assess its streamability by doing the transformation and then assessing the streamability of the result.
Comment 2 Michael Kay 2016-01-21 16:47:24 UTC
The WG discussed this and agreed that since an arrow expression is syntactic sugar, the streamability of arrow expressions can be defined as being equivalent to the streamability of the equivalent expression, i.e.

posture-and-sweep(A => F(B, C)) === posture-and-sweep(F(A, B, C)).
Comment 3 Abel Braaksma 2016-01-21 16:56:29 UTC
Should we say something specific about F itself being possibly an expression returning a function item, with usage inspection?