Re: Static streamability, regarding bug 29984

> On Dec 8, 2016, at 8:42 AM, Abel Braaksma <abel.braaksma@xs4all.nl> wrote:
> ...
> Furthermore, I like the idea that the specification would be written in such a way that it does NOT limit performance improvements, and I believe expression rewriting is a performance improvement that we should not discourage.

I think that you are once again conflating the concepts of guaranteed
streamability and streamability in fact.  

Given that the concepts are distinct, as they are in our spec (though not,
it seems, in every WG member’s mind) how does the phenomenon you
describe work?  How does our definition of guaranteed streamability 
serve to encourage or discourage performance improvements in
processors?  

Perhaps you are interpreting the proposition “Construct C is not 
guaranteed streamable” as meaning “Construct C should not be
streamed” — but that’s not what it means.

Or perhaps you are interpreting the proposition “The failure of construct
C to be guaranteed streamable must be detected by a processor”
to mean “The processor’s streamability analysis must detect the
failure of a construct to be guaranteed streamable.”  But that’s not
what it means — it has been clear since 2007 at the latest that 
the definition of guaranteed streamability given in the spec will
not necessarily be isomorphic to an implementation’s internal analysis 
of streamability (i.e. its analysis of streamability in fact), nor to
part of it.  It seems to me a fairly obvious consequence that the
analysis of guaranteed streamability may then need to be carried
out independently of a processor’s analysis of streamability in 
fact, at least in part.  All of your arguments seem to rest on the 
premise that there should be no difference between guaranteed
streamability and streamability in fact — that is, it seems to me 
that you are conflating the two concepts.  Please stop doing so;
it is becoming harder and harder for me to believe that you are 
doing so in good faith.

The only news in this bug report appears to be that the two implementors
in the WG have decided to say, now when the spec is on the verge
of completion, that after all they don’t want to calculate guaranteed 
streamability independently of their analysis of streamability in fact.
That this will tend to leave users dependent on the processor with
which they initially develop a stylesheet is, I am sure, a wholly
unintended consequence of a purely technical preference on the part
of the implementors.  That it seems a minor consequence is also clear:
when has user lock-in to one’s own product ever bothered an
implementor?


********************************************
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
cmsmcq@blackmesatech.com
http://www.blackmesatech.com
********************************************

Received on Thursday, 8 December 2016 16:13:01 UTC