Re: [Json] Proposal: the minimal edit
Carsten Bormann <cabo@tzi.org> Tue, 25 June 2013 06:07 UTC
Return-Path: <cabo@tzi.org>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4915A21F9EE2 for <json@ietfa.amsl.com>; Mon, 24 Jun 2013 23:07:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.216
X-Spam-Level:
X-Spam-Status: No, score=-106.216 tagged_above=-999 required=5 tests=[AWL=0.033, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jI+G8hO1jdoK for <json@ietfa.amsl.com>; Mon, 24 Jun 2013 23:07:16 -0700 (PDT)
Received: from informatik.uni-bremen.de (mailhost.informatik.uni-bremen.de [IPv6:2001:638:708:30c9::12]) by ietfa.amsl.com (Postfix) with ESMTP id 169FE21F9E96 for <json@ietf.org>; Mon, 24 Jun 2013 23:07:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at informatik.uni-bremen.de
Received: from smtp-fb3.informatik.uni-bremen.de (smtp-fb3.informatik.uni-bremen.de [134.102.224.120]) by informatik.uni-bremen.de (8.14.4/8.14.4) with ESMTP id r5P67DIZ026117; Tue, 25 Jun 2013 08:07:13 +0200 (CEST)
Received: from [192.168.217.105] (p54893C8A.dip0.t-ipconnect.de [84.137.60.138]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp-fb3.informatik.uni-bremen.de (Postfix) with ESMTPSA id 0A1B93339; Tue, 25 Jun 2013 08:07:12 +0200 (CEST)
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
Content-Type: text/plain; charset="windows-1252"
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <CAHBU6itPYpcof20YOAhgT82VnMAfgtpH2TaSDX+OHpu__WYjGg@mail.gmail.com>
Date: Tue, 25 Jun 2013 08:07:12 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <CFD38719-3EB9-448C-A712-9B0E0B592D30@tzi.org>
References: <20130625032014.GF14060@mercury.ccil.org> <ECAD5568-05F1-44C0-A8E1-6A38DAFAF6D4@vpnc.org> <C75D5BC5-6D5F-4CC0-8ACA-9717E7607DE4@tzi.org> <CAHBU6itPYpcof20YOAhgT82VnMAfgtpH2TaSDX+OHpu__WYjGg@mail.gmail.com>
To: Tim Bray <tbray@textuality.com>
X-Mailer: Apple Mail (2.1508)
Cc: John Cowan <cowan@mercury.ccil.org>, Paul Hoffman <paul.hoffman@vpnc.org>, "json@ietf.org" <json@ietf.org>
Subject: Re: [Json] Proposal: the minimal edit
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/json>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 25 Jun 2013 06:07:22 -0000
On Jun 25, 2013, at 07:45, Tim Bray <tbray@textuality.com> wrote: > I just can’t bring myself to see it that way. Any reasonable person would read this statement in the introduction and conclude that a string is, you know, a sequence of Unicode characters. The fact that the ABNF later on contradicts this does not “supplement” the introduction, it’s just a spec-drafting goof. I really have no idea where the "contradict" meme comes from. (Well, actually, I do, see below.) I'm much more interested in getting interoperability right than in language lawyering, but where we are arguing from the existing specs, we do have to read them right first. Not trying to express every constraint in the ABNF is reasonable spec economy. Why try to express clumsily in the ABNF what can already be said referencing a well-defined concept? Try writing the ABNF for surrogate pair escapes and you'll see what I mean. (Sure, it *can* be done. Would you want to?) The specific objective of the ABNF here was to explain what must be escaped for *JSON* reasons. Re-encoding the Unicode spec in the ABNF apparently wasn't the objective. I'm writing this mainly because I have had to make the same kind of decision before: Encode all possible restrictions in the ABNF or keep it readable? Again, not everything allowed by the ABNF is a valid instance of the format. I'm not aware of any usage of ABNF where that would be the case. You always have to read the rest of the specification, too. > This is reflected in the empirical reality that in JSON's sweet spot, chiefly in the kind of network protocols the IETF cares about, JSON strings are de facto used to interchange sequences of Unicode characters, and reasonable developers would regard a failure to do so, even though blessed by the spec, as a bug. That is an important reality. (It is hardly derived from a careful reading of RFC 4627, however.) Our problem in this WG really is that this is only part of the reality. There is another community that believes JSON is a format proprietary to JavaScript, so whatever is common (even if bad) practice in the JavaScript world needs to be within the JSON envelope. Of course, if you believe that, you will grasp for straws like this "contradiction". That clash of communities is why we even have the discussion here. Grüße, Carsten
- [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit Jorge
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit Eliot Lear
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Norbert Lindenberg
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Paul Hoffman
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit Tim Bray
- Re: [Json] Proposal: the minimal edit R S
- Re: [Json] Proposal: the minimal edit Martin J. Dürst
- Re: [Json] Proposal: the minimal edit Bjoern Hoehrmann
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit John Cowan
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit Carsten Bormann
- Re: [Json] Proposal: the minimal edit John Cowan