Re: JFV and Common Structure specifications

Martin Thomson <> Wed, 23 November 2016 01:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 3081212951D for <>; Tue, 22 Nov 2016 17:01:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.498
X-Spam-Status: No, score=-8.498 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-1.497, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id cvUi9zTuGeJj for <>; Tue, 22 Nov 2016 17:01:23 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AB9C91293F8 for <>; Tue, 22 Nov 2016 17:01:17 -0800 (PST)
Received: from lists by with local (Exim 4.80) (envelope-from <>) id 1c9LsS-00039N-1r for; Wed, 23 Nov 2016 00:57:32 +0000
Resent-Date: Wed, 23 Nov 2016 00:57:32 +0000
Resent-Message-Id: <>
Received: from ([]) by with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1c9LsM-00037j-9k for; Wed, 23 Nov 2016 00:57:26 +0000
Received: from ([]) by with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <>) id 1c9LsG-00061n-Bx for; Wed, 23 Nov 2016 00:57:21 +0000
Received: by with SMTP id q130so48833866qke.1 for <>; Tue, 22 Nov 2016 16:57:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=sO7FtQzWleRH7Gm65OzKW81t26Vljlv9ssrzUd9Slqc=; b=Aj6ECDbGhpur+DXPGZhfvuH+NNlPcsnY2EDa6cFC9PxFb/BIk6v91zMgy+QYYoLLuB gClEHNtF/0ZkMQVuQrI6ktrrrkSEdhQAI540W/x2jxTMqXFW9EIOIiwjkxgOnHdx0vE7 pJzkg/PAs26s9iSS8Fwpn4BMi+jpCzuOpVAfHpxvNDHnvBwT7kPlqvCtt42JzLnkOHfo ArFZOfsUWx+fTGsu+1gJ3lCUHe22dTpQyFbvxY+VHkHu3ozupAaRe0N/tzI0fyWxOrzg xvZBG+1mFo47uuCn1yICYsU4uOFjJXtRI2xfJFLycXfYkr30kdV0Ju2ayV2puhxvBIUr pltA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=sO7FtQzWleRH7Gm65OzKW81t26Vljlv9ssrzUd9Slqc=; b=XjnXjYbpK/TPqRlVQVIGqjo/Q4ykimg/g59T8g6XI2uwJEGKY93XcQ641E4blk2TAp l/zDURGJKJCnBebVoVtBoldXcvYoOLegwVhQtern20XPXSVcVDguQwYB9fpThk1DDuAt oePgf2ZSKav6rV4ryBmY2eyxwHEfpwWP4JWTSMg/SDPsAuqfm07E1g6r15ifGnpHdKTZ eeCu61DTXCryFhUp8zl+N4ayOwacdeomprdh3sWeTnaj4KDokFSB5NW/ggpET9oNeTPB HDP3P+fJPzzet8eMIStM1n7UjwH++hCnm3DI0CYKlwyfN6G5irxyEfI40PsdeSfImtoR 13KQ==
X-Gm-Message-State: AKaTC034HJbrl+rvOh//7GewYgwiFrdyqBORzv9m7vITzpUQIQ6AGiTvhMbQqfd1bOd2HF4GST4snwPW3lXuZQ==
X-Received: by with SMTP id x135mr401583qkb.147.1479862614442; Tue, 22 Nov 2016 16:56:54 -0800 (PST)
MIME-Version: 1.0
Received: by with HTTP; Tue, 22 Nov 2016 16:56:53 -0800 (PST)
In-Reply-To: <>
References: <> <> <> <> <> <> <>
From: Martin Thomson <>
Date: Wed, 23 Nov 2016 11:56:53 +1100
Message-ID: <>
To: Poul-Henning Kamp <>
Cc: Mark Nottingham <>, HTTP Working Group <>, Patrick McManus <>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=;;
X-W3C-Hub-Spam-Status: No, score=-6.0
X-W3C-Hub-Spam-Report: AWL=-0.007, BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, W3C_AA=-1, W3C_DB=-1, W3C_IRA=-1, W3C_WL=-1
X-W3C-Scan-Sig: 1c9LsG-00061n-Bx e0d5b7c3dcd5d8d1fb90035fae3f0195
Subject: Re: JFV and Common Structure specifications
Archived-At: <>
X-Mailing-List: <> archive/latest/32963
Precedence: list
List-Id: <>
List-Help: <>
List-Post: <>
List-Unsubscribe: <>

On 22 November 2016 at 20:51, Poul-Henning Kamp <> wrote:
> But I see absolutely no advantages for us or anybody else, in trying
> to impose that policy on everybody else, by delivering CS as a less
> capable tool[1].
> [1] In my very extensive study of computing history, I have _never_
> found an instance where that strategy worked for anybody, and
> computing today is litered with examples of the opposite: C++ vs
> C, PHP vs Perl, AMD64 architecture vs Itanic, GPL/GCC vs CLANG,
> and so on.

JSON.  The principle you are looking for is "just barely good enough
to work".  And that applies to the web in spades if you want great
object lessons.

Let's not talk about policy and instead concentrate on cost-benefit.
Mark has summarized the costs quite well, I think.  I would go further
and point out that a recursive syntax with quoting cannot have
elements that are skipped by a parser, which I find results in simply
externalizing those costs.

The onus on you is to justify these costs in terms of tangible
benefits.  Concrete use cases might help.

(BTW, I like your onion layers concept, though I'm sure that Roy would
chime in and point out that this is a feature of Waka.)