Re: [Json] Parser and encoder options (Re: The names within an object SHOULD be unique.)

"Pete Cordell" <petejson@codalogic.com> Fri, 07 June 2013 08:41 UTC

Return-Path: <petejson@codalogic.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 475B921F9473 for <json@ietfa.amsl.com>; Fri, 7 Jun 2013 01:41:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.679
X-Spam-Level:
X-Spam-Status: No, score=0.679 tagged_above=-999 required=5 tests=[AWL=0.122, BAYES_05=-1.11, SARE_HEAD_XUNSENT=1.666, STOX_REPLY_TYPE=0.001]
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 3qkEYQlZ22-m for <json@ietfa.amsl.com>; Fri, 7 Jun 2013 01:41:39 -0700 (PDT)
Received: from codalogic.com (codalogic.com [94.136.60.219]) by ietfa.amsl.com (Postfix) with ESMTP id D98D021F93DA for <json@ietf.org>; Fri, 7 Jun 2013 01:41:35 -0700 (PDT)
Received: (qmail 10239 invoked from network); 7 Jun 2013 09:41:34 +0100
Received: from host86-132-241-164.range86-132.btcentralplus.com (HELO codalogic) (86.132.241.164) by codalogic.com with (RC4-MD5 encrypted) SMTP; 7 Jun 2013 09:41:34 +0100
Message-ID: <D289B8196BB94D6FAB8AC8C1F8CFCC51@codalogic>
From: Pete Cordell <petejson@codalogic.com>
To: John Cowan <cowan@mercury.ccil.org>, Nico Williams <nico@cryptonector.com>
References: <CAK3OfOieEdB0fQdc-iQ+Fpw6cB3L3=4kQ-WamCdxnh7VuZdFPw@mail.gmail.com> <20130606225906.GO3090@mercury.ccil.org>
X-Unsent: 1
Date: Fri, 07 Jun 2013 09:41:25 +0100
x-vipre-scanned: 00850F5A00483A008510A7
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"; charset="iso-8859-1"; reply-type="original"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
Cc: Douglas Crockford <douglas@crockford.com>, json@ietf.org
Subject: Re: [Json] Parser and encoder options (Re: The names within an object SHOULD be unique.)
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: Fri, 07 Jun 2013 08:41:45 -0000

Original Message From: "John Cowan"

> Nico Williams scripsit:
>
>> I think we should formalize the concept of options for parsers and 
>> encoders.
>>
>> For example, it's common to have options for pretty printing JSON.
>> And there's been talk of extensions, so why not have some useful
>> extensions (like comments, or string join, like in C, for
>> pretty-printing purposes)?
>>
>> We should also have a taxonomy for describing an implementation.
>> We've seen the need to distinguish between streaming and non-streaming
>> parsers.  (For now that's my only contribution to such a taxonomy.)
>
> While all these things are nice-to-haves, they are why specs balloon up
> to dozens or even hundreds of pages, and become impossible for anyone
> but large, well-funded organizations to implement.  I do most strongly
> urge this group NOT to go there.


+1

Surely we don't want to go down the path of protocol specs say "This 
protocol requires a JSON streaming parser" or "This protocol requires a JSON 
non-streaming parser" etc.  We just want to use JSON.

Douglas said the text "The names within an object SHOULD be unique" should 
have been "The names within an object MUST be unique".  IMO by defining a 
fall-back mechanism we're justifying having non-unique names and we're 
actually weakening the requirement to something like "The names within an 
object MAY be unique".  Is that the direction we want to go in?

Pete Cordell
Codalogic Ltd
C++ tools for C++ programmers, http://codalogic.com
Easily read & write XML in C++, http://www.xml2cpp.com