On Nov 27, 2013, at 7:29 PM, Paul Hoffman wrote:
<no hat>
On Nov 27, 2013, at 5:00 PM, Alex Russell <slightlyoff(_at_)google(_dot_)com>
wrote:
Will you also be citing ECMA-404 normatively to avoid this sort of
divergence in the future?
If you believe that ECMA-404 will change in the future, that would indicate
that ECMA might break interoperability with current implementations, even for
what they perceive as "good reasons". In general, the IETF tries not to have
its long-lived standards normatively latch on to moving targets for this very
reason. Even when other SDOs have assured us that they will not make
backwards-incompatible changes, they have done so anyway (cue the
Klensin-esqe theme music...), and that has caused serious interoperability
problems for the IETF specs.
Stability of ECMA-404 should not be a concern. As far as I can observe TC39 has
absolutely no interest in every changing or extending the JSON grammar. I'm
confident TC39 would record that as a statement of policy if asked. In fact,
the reason TC39 chose to issue ECMA-404 was because there was concern that the
JSON WG was on a path to modify and possibly extend JSON syntax. The only sort
of changes to ECAM-404 I ever expect to see would be technical corrections to
errors found in the current specification language or the addition of
informative material to help clarify understanding of the specification. For
example, if there was sufficient public interest we might consider adding an
informative Annex that restates the grammar using ABNF notation.
The JSON syntax has its roots in the ECMAScript syntax but is not at all linked
to the ECMAScript syntax. The ECMAScript object and array literal constructs
were the inspiration for JSON. But even in the beginning, the JSON syntax was
only a subset set of the full syntax of those ECMAScript language features.
ECMAScript object literal syntax has been significantly extended in both the
ECMA-262 5th Edition(2009) and the forthcoming 6th Edition. But those
extensions have and will not ever be added to the JSON syntax defined in
ECMA-404.
Allen Wirfs-Brock
ECMA-262 Project Editor