Re: [Json] Schemas & so on

John Cowan <cowan@mercury.ccil.org> Tue, 03 May 2016 15:08 UTC

Return-Path: <cowan@ccil.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 4032212D51B for <json@ietfa.amsl.com>; Tue, 3 May 2016 08:08:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.597
X-Spam-Level:
X-Spam-Status: No, score=-3.597 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RP_MATCHES_RCVD=-0.996, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QPIHflVljvYb for <json@ietfa.amsl.com>; Tue, 3 May 2016 08:08:50 -0700 (PDT)
Received: from earth.ccil.org (earth.ccil.org [192.190.237.11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 66CAD12D512 for <json@ietf.org>; Tue, 3 May 2016 08:08:50 -0700 (PDT)
Received: from cowan by earth.ccil.org with local (Exim 4.72) (envelope-from <cowan@ccil.org>) id 1axbwK-0002kn-U5; Tue, 03 May 2016 11:08:44 -0400
Date: Tue, 03 May 2016 11:08:44 -0400
From: John Cowan <cowan@mercury.ccil.org>
To: Peter Cordell <petejson@codalogic.com>
Message-ID: <20160503150844.GI29513@mercury.ccil.org>
References: <CAHBU6itCV9MXmALdKtE9-vjUPG6-6ZqdqzrmZkcEzSUysi3S-w@mail.gmail.com> <AC93811D-A16A-4527-B2EB-C6A9FC6D4F17@mnot.net> <4bb21809-bb40-7a3e-b7c7-f37da0976ea2@dret.net> <20160503131248.GA22066@mercury.ccil.org> <60c96d28-70a5-f3a3-30b3-b6f7232b60ab@codalogic.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <60c96d28-70a5-f3a3-30b3-b6f7232b60ab@codalogic.com>
User-Agent: Mutt/1.5.20 (2009-06-14)
Sender: John Cowan <cowan@ccil.org>
Archived-At: <http://mailarchive.ietf.org/arch/msg/json/P6ZMChTBYwZsXRXvl1EgLbR3fiM>
Cc: Mark Nottingham <mnot@mnot.net>, "json@ietf.org" <json@ietf.org>, Tim Bray <tbray@textuality.com>, Erik Wilde <erik.wilde@dret.net>
Subject: Re: [Json] Schemas & so on
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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, 03 May 2016 15:08:52 -0000

Peter Cordell scripsit:

> I disagree that JCR is "entirely useless".  

Sorry, I meant that using a plain JSON document as a JCR document is
entirely useless, not that JCR as a whole is useless.

> Examplotron is neat, but it makes lots of assumptions about what
> you're trying to express.  It essentially guesses what you mean by a
> construct.  

Well, I'd rather say that it has some well-documented conventions about
instance values.

> This may work for a little while, but soon runs out of
> steam.  There's a reason why people say you should be explicit about
> what you want.

>From the language designer's (and implenter's) viewpoint, yes.  From the
user's view, where the non-iconic features may be unnecessary for many
applications, not so much.  Examplotron has a gentler learning curve
than any explicit grammar-based system.

> Plus, there is the issue of practical syntax.  XML offers namespaces
> so you can do things like <bar eg:occurs="*"> to differentiate
> between one or more and zero or more (or optional etc).  Lacking
> even comments it's hard to see how a JSON based syntax could do this
> is an elegant way.  (I can imagine some ugly hacks involving
> unlikely member names, but I'd really rather not.)

And name quotation, yes.  I agree it's a problem.  Still, even if JSON
syntax should be or must be extended, I still think structural iconicity
where possible is an important principle.

> And the ability to explicitly state that you want a particular
> string (for example), rather than having that being inferred as any
> string, opens up the use of JCR as part of a test vector suite,
> which could be very useful as part of implementation validation.

Good point.

> So, very useful indeed IMO.

I have a lot of specific comments on JCR.  What's the best forum for them?

-- 
John Cowan          http://www.ccil.org/~cowan        cowan@ccil.org
At times of peril or dubitation,
Perform swift circular ambulation,
With loud and high-pitched ululation.