[Json] Generators

Stefan Drees <stefan@drees.name> Mon, 10 June 2013 07:38 UTC

Return-Path: <stefan@drees.name>
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 6189121F894E for <json@ietfa.amsl.com>; Mon, 10 Jun 2013 00:38:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.928
X-Spam-Level:
X-Spam-Status: No, score=-0.928 tagged_above=-999 required=5 tests=[AWL=-1.093, BAYES_40=-0.185, HELO_EQ_DE=0.35]
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 hw24KWaNIvCM for <json@ietfa.amsl.com>; Mon, 10 Jun 2013 00:38:13 -0700 (PDT)
Received: from mout.web.de (mout.web.de [212.227.15.4]) by ietfa.amsl.com (Postfix) with ESMTP id 2C85321F8AF4 for <json@ietf.org>; Mon, 10 Jun 2013 00:38:12 -0700 (PDT)
Received: from newyork.local.box ([93.129.126.10]) by smtp.web.de (mrweb001) with ESMTPSA (Nemesis) id 0LtX9Q-1UKPvr0CqS-010uk7 for <json@ietf.org>; Mon, 10 Jun 2013 09:38:11 +0200
Message-ID: <51B58261.5040808@drees.name>
Date: Mon, 10 Jun 2013 09:38:09 +0200
From: Stefan Drees <stefan@drees.name>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130509 Thunderbird/17.0.6
MIME-Version: 1.0
To: "json@ietf.org" <json@ietf.org>
Content-Type: text/plain; charset="ISO-8859-15"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K0:pDAnYrBQavM428wL5vywJF9Ul7DMI3EkycpHyeNNGrljjG/HhW8 kgi3mSax3AyizC0XZ9aAgyASBjYH3HvcSn/cxp10kUptWnifMPexJs2FdMSJ8mrc5HO9AA1 /aw+i1kPzwrpGEjytfH3EVgl0o2fAPnxJvi/9mTAd1J5hobgDMM5eruoSbvqDtBTDpGWuRw yLbP8Fi+VMhRmaqG2BFeQ==
Subject: [Json] Generators
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: stefan@drees.name
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: Mon, 10 Jun 2013 07:38:18 -0000

Starting this also as a new thread to not break symmetry (Parsers have 
been forked already by Paul).

Starting from my last proposal before fork at [1] I hereby propose to 
change the section on Generators from the OLD:
"""

5.  Generators

    A JSON generator produces JSON text.  The resulting text MUST
    strictly conform to the JSON grammar.

"""

into the NEW:
"""

5.  Generators

    A JSON generator produces JSON text that MUST strictly conform to
    the JSON grammar.

    Generators MUST NOT duplicate names in objects if they can avoid or
    detect such duplication.

"""

This is intended to be "flanked" by the proposal in the sister thread 
cf. [2].
As compared to [1] in the above proposal I have replaced the ". The 
resulting text" with a simple and equivalent " that" as compared to [1] 
and also threw a fine grained MUST into the ring pairing well, with the 
one in the Parsers section [2].
This "MUST NOT duplicate ... if" reads pretty soft for implementers, but 
should be the only consensual non-breaking way out of the historical 
dilemma of not enforcing it for generators in the first place.

What do the others think?

References:

[1]: http://www.ietf.org/mail-archive/web/json/current/msg00689.html
[2]: http://www.ietf.org/mail-archive/web/json/current/msg00700.html

All the best,

Stefan.