the futility of attempting to distinguish kosher pragmas from treyf

This morning we discussed whether it was acceptable for pragmas to
prescribe behavior that differed in various ways from what would be
conforming behavior if the pragma were ignored, or absent.

As an example, Steven offered the contrasting pair:

  - a pragma to say "don't mark sentences as ambiguous", which
    Steven was inclined to think would be OK
    
  - a pragma to say "make this rule case-insensitive", which Steven
    would prefer be not OK
  
I'll just observe that both of these specify non-conforming behavior on
the part of the processor, not just the second.

From my point of view, this pair illustrates the futility of attempting
to set boundaries to what kinds of non-standard information a pragma can
*legitimately* convey or what kinds of non-standard behavior it can
legitimately request.  We are by definition talking about the
possibilities for things the group has not standardized -- the chances
that we understand them well enough to draw coherent or useful
boundaries is zero.  And if there is anything to be gained by this
exercise in drawing boundaries, no one has yet said what they think it
is.

Saying clearly that the effect of a pragma may be that the processor
behaves differently does not seem to have damaged interoperability in
XQuery processors.

(I'll also note that there is no particular need for a pragma in the
first case, since it applies not to the grammar but to the generation of
the output, so it doesn't have a natural location in the grammar and the
request can be made equally well with an invocation parameter.)

-- 
C. M. Sperberg-McQueen
Black Mesa Technologies LLC
http://blackmesatech.com

Received on Tuesday, 1 February 2022 21:40:54 UTC