Re: [Json] draft-williams-json-text-sequence-00

John Cowan <> Sat, 15 March 2014 19:41 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 891B01A01BF for <>; Sat, 15 Mar 2014 12:41:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.147
X-Spam-Status: No, score=-3.147 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.547] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id GtMN0GUJjD8N for <>; Sat, 15 Mar 2014 12:41:31 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 54A9B1A01BC for <>; Sat, 15 Mar 2014 12:41:31 -0700 (PDT)
Received: from cowan by with local (Exim 4.72) (envelope-from <>) id 1WOuSR-0002qw-4f; Sat, 15 Mar 2014 15:41:23 -0400
Date: Sat, 15 Mar 2014 15:41:23 -0400
From: John Cowan <>
To: Nico Williams <>
Message-ID: <>
References: <>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <>
User-Agent: Mutt/1.5.20 (2009-06-14)
Sender: John Cowan <>
Cc: "" <>
Subject: Re: [Json] draft-williams-json-text-sequence-00
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 15 Mar 2014 19:41:33 -0000

Nico Williams scripsit:

> Just submitted.

1) Your terminology of "online parsers" and "incremental parsers"
is very confusing.  What you call an "online parser", I would call a
"streaming parser", because it returns portions of arrays, objects, and
possibly even strings as a stream of events.  Your "incremental parser"
is simply a parser that stops reading when it reaches the end of a JSON
text without insisting that there be no additional characters.

2) The sentence "Encoders MUST emit" should refer explicitly to
the grammar.  Currently the grammar is completely unmoored from the
requirements.  "Encoders MUST emit JSON text sequences that conform to
the ABNF" is sufficient.

3) The sentence "Two contiguous separators do not" is unnecessary,
because there are no empty JSON texts.

4) In "Parsers MUST be able", for "to parser" read "to parse".  But as
in #2, this should simply say "Parsers MUST be able to parse any text
conforming to the ABNF" for the same reasons.

5) The recommendation seems entirely unnecessary to me.

6) I still don't see that there is any ambiguity in "truefalse" considered
as two JSON-texts.  So I would strip "Parsers MAY parse" to just say
"sequences where the separators are missing."  Note that such sequences
don't conform anyway.

7) If you want newline-free JSON-texts to be in serious use, the second
MAY should be promoted to a SHOULD.

"The serene chaos that is Courage, and the phenomenon
of Unopened Consciousness have been known to the        John Cowan
Great World eons longer than Extaboulism."
"Why is that?" the woman inquired.
"Because I just made that word up", the Master said wisely.
        --Kehlog Albran, The Profit