Re: [apps-discuss] draft-yevstifeyev-abnf-separated-lists-01.txt

John C Klensin <john-ietf@jck.com> Mon, 06 December 2010 20:15 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: apps-discuss@core3.amsl.com
Delivered-To: apps-discuss@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 00FAF3A68A0 for <apps-discuss@core3.amsl.com>; Mon, 6 Dec 2010 12:15:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.585
X-Spam-Level:
X-Spam-Status: No, score=-102.585 tagged_above=-999 required=5 tests=[AWL=0.014, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rD8Xo8QVQR0W for <apps-discuss@core3.amsl.com>; Mon, 6 Dec 2010 12:15:08 -0800 (PST)
Received: from bs.jck.com (ns.jck.com [209.187.148.211]) by core3.amsl.com (Postfix) with ESMTP id 4BFD93A6894 for <apps-discuss@ietf.org>; Mon, 6 Dec 2010 12:15:08 -0800 (PST)
Received: from [127.0.0.1] (helo=localhost) by bs.jck.com with esmtp (Exim 4.34) id 1PPhTn-000NhO-GB; Mon, 06 Dec 2010 15:16:11 -0500
Date: Mon, 06 Dec 2010 15:16:10 -0500
From: John C Klensin <john-ietf@jck.com>
To: Barry Leiba <barryleiba@computer.org>, Tony Hansen <tony@att.com>, Mykyta Yevstifeyev <evnikita2@gmail.com>
Message-ID: <73E9EBC74013BAFC7501F9A2@PST.JCK.COM>
In-Reply-To: <AANLkTinxjDqLus-+b1bMOxQMEgmiF4KfJeTCyN7yOsdf@mail.gmail.com>
References: <4CFC4694.5070408@att.com> <AANLkTimX4B3WTYaPS5mj+GjcNYYvKf3MpB8SB0TwA_dm@mail.gmail.com> <4CFCF71C.4050908@att.com> <4CFD0B37.7010601@gmail.com> <4CFD1238.4090902@gmail.com> <AANLkTinxjDqLus-+b1bMOxQMEgmiF4KfJeTCyN7yOsdf@mail.gmail.com>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Cc: Dave CROCKER <dcrocker@bbiw.net>, apps-discuss@ietf.org
Subject: Re: [apps-discuss] draft-yevstifeyev-abnf-separated-lists-01.txt
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 06 Dec 2010 20:15:10 -0000

--On Monday, December 06, 2010 13:08 -0500 Tony Hansen
<tony@att.com> wrote:

> I think it would be useful to find ABNF constructs in existing
> protocols that provide for lists and give examples of how
> their ABNF would have been simplified if this new ABNF
> construct were available.

and

--On Monday, December 06, 2010 13:19 -0500 Barry Leiba
<barryleiba@computer.org> wrote:

> I agree with Tony that if you can't include examples of how we
> should have had this before, it'll be hard to convince the
> community and the IESG that it's needed now.  We can always
> come up with things that *might* be useful, but part of the
> challenge is keeping the language as simple as possible (and
> no simpler).

And _that_, it seems to me, is the more fundamental problem with
this proposal.  One can always add more elements, constructors,
or decorations to a metalanguage like this one.  One can also go
minimalist: while some things would be quite tedious to express,
I don't believe there is anything that can be expressed in RFC
5234 ABNF, with or without this extension, that cannot be
expressed in classical/original BNF.   The advantage of a more
powerful metalanguage is that expressions become more concise,
often leading to greater clarity for those who understand it.
The disadvantage is that the language becomes harder to write
optimally and _much_ harder to examine for errors and debug.
Empirically, ABNF has already become daunting enough that we
need to talk about ABNF experts in the IETF, that people
routinely get grammars written in ABNF wrong, and that it is not
a metalanguage that most of those who can otherwise write specs
in the IETF feel that they can use efficiently and accurately.  

The question shouldn't be whether we can describe a new feature
of find syntax for it.   It should be whether that new feature
is really important enough to justify the additional complexity
it adds to the metalanguage, especially if the chosen syntax
makes the metalanguage more subtle and/or obscure.

IMO, that case has not been made at all convincingly yet.  The
sorts of examples that Barry and Tony suggest would be a useful
step in the process of convincing people, but I suggest that,
unless it can be shown that this construction actually
simplifies a large number of practical cases, every error we
find in the ABNF when documents that use the metalanguage are
examine is an argument against more operators and complexity.

    john