Re: [Json] Proposal: the minimal edit
Tim Bray <tbray@textuality.com> Tue, 25 June 2013 05:45 UTC
Return-Path: <tbray@textuality.com>
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 8F08921E812C for <json@ietfa.amsl.com>; Mon, 24 Jun 2013 22:45:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.768
X-Spam-Level:
X-Spam-Status: No, score=0.768 tagged_above=-999 required=5 tests=[AWL=-0.589, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_PBL=0.905, RCVD_IN_SORBS_DUL=0.877, RDNS_NONE=0.1]
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 y-wpztvNmU9E for <json@ietfa.amsl.com>; Mon, 24 Jun 2013 22:45:50 -0700 (PDT)
Received: from mail-ve0-x232.google.com (mail-ve0-x232.google.com [IPv6:2607:f8b0:400c:c01::232]) by ietfa.amsl.com (Postfix) with ESMTP id 4CB5221E804B for <json@ietf.org>; Mon, 24 Jun 2013 22:45:50 -0700 (PDT)
Received: by mail-ve0-f178.google.com with SMTP id pb11so9761875veb.9 for <json@ietf.org>; Mon, 24 Jun 2013 22:45:48 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-originating-ip:in-reply-to:references:date :message-id:subject:from:to:cc:content-type:x-gm-message-state; bh=WPHAluyqzOJFUkDrAAkI7yT8EjU+5nH4lfIOzPeSJBA=; b=B0y0PuapL7i3aDGWsPkVJ7heIahT8Hhw+rdYutjGmocxsDC7P5Hr/65uitoS5ZS3Vx mgh7d17MzGBrnU7M0QS2EuE5ZBrKl078je+/RnNN0jf9yCYYZBr6SqfMOh8XhysOhi60 RsLK1grbQjR/6g6ZJ04oswZnt32lvj1b0ZXb9WzpW0m3EoNHM35o+CN57ef9JqD3Y/W7 Bi3duYZ+t4MsG2vtdRIPwZ65oef/krLg4+0BoN+7ek+OAi+He3YEMy/x/x4KY7cHjKN9 dj05JObJHYD9eiPubN0Z1rd4/cmYj/wL2czwnfOjfCbNdsAaXMzPZASTM64PgbpYCGZq JcQg==
MIME-Version: 1.0
X-Received: by 10.221.36.4 with SMTP id sy4mr4205172vcb.11.1372139148719; Mon, 24 Jun 2013 22:45:48 -0700 (PDT)
Received: by 10.220.219.200 with HTTP; Mon, 24 Jun 2013 22:45:48 -0700 (PDT)
X-Originating-IP: [24.84.235.32]
In-Reply-To: <C75D5BC5-6D5F-4CC0-8ACA-9717E7607DE4@tzi.org>
References: <20130625032014.GF14060@mercury.ccil.org> <ECAD5568-05F1-44C0-A8E1-6A38DAFAF6D4@vpnc.org> <C75D5BC5-6D5F-4CC0-8ACA-9717E7607DE4@tzi.org>
Date: Mon, 24 Jun 2013 22:45:48 -0700
Message-ID: <CAHBU6itPYpcof20YOAhgT82VnMAfgtpH2TaSDX+OHpu__WYjGg@mail.gmail.com>
From: Tim Bray <tbray@textuality.com>
To: Carsten Bormann <cabo@tzi.org>
Content-Type: multipart/alternative; boundary="001a11339f388ad58004dff40a23"
X-Gm-Message-State: ALoCoQmkgiNzTnL+gABwe2w6HHYmA7bwrdc/vo2FnqfTcr1yrPDvC3dubDXmDMVr2//GeL5u9qhs
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 05:45:54 -0000
On Mon, Jun 24, 2013 at 10:25 PM, Carsten Bormann <cabo@tzi.org> wrote:
> > A string is a sequence of zero or more Unicode characters [UNICODE].
> >
> > That statement disagrees with ABNF in the grammar, so the RFC is
> ambiguous.
>
> That statement *combines* with the ABNF.
> The ABNF limits the representations, the first limits the strings
> themselves.
>
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. 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.
-T
>
> There is no ambiguity caused by having multiple restrictions in a
> specification.
>
> Similarly, {"a": 1, "a": 2} isn't ambiguously valid JSON or not JSON by
> being allowed by the ABNF.
> (Here, the other statement is a SHOULD, but that doesn't detract from my
> point.)
>
> Of course, the statement about strings being sequences of Unicode
> characters is in the introduction, so the level of normative detail it
> imposes can be discussed, in particular in the light of the fact that the
> specification isn't quite clear on Unicode terms in other places. But the
> intent is very clear.
>
> Grüße, Carsten
>
> _______________________________________________
> json mailing list
> json@ietf.org
> https://www.ietf.org/mailman/listinfo/json
>
- [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