- From: <bugzilla@jessica.w3.org>
- Date: Wed, 30 Sep 2015 10:16:27 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29161 --- Comment #2 from Abel Braaksma <abel.braaksma@xs4all.nl> --- > The same applies to other non-pipelinable operations such as reverse(). This won't happen in a sequence constructor, but I think you refer to something like: a/b/copy-of() => reverse() But since reverse() takes a sequence as an argument, it is different from last() that it first must materialize the whole sequence. This is similar to, say, string-join. I.e., even though it cannot be pipelined, the argument is consuming, so in a pipeline or windowed streaming scenario, the semantics of the function make sure that it does not break any rules. As a result, the above is (from a streaming view) semantically equal to reverse(a/b/copy-of()) and reverse(copy-of(a/b)). After a rewrite to the latter, which cannot be done with last() inside a seqtor, the streamability issue goes away (well, technically, it means that the whole sequence will be grounded first, stored in memory, so this is not streaming at all). -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Wednesday, 30 September 2015 10:16:29 UTC