[Cbor] Re: registrations before WGLC Re: I-D Action: draft-ietf-cbor-edn-literals-23.txt

Carsten Bormann <cabo@tzi.org> Fri, 01 May 2026 18:57 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: cbor@mail2.ietf.org
Delivered-To: cbor@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 583CAE77C000 for <cbor@mail2.ietf.org>; Fri, 1 May 2026 11:57:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1777661823; bh=0H2Z0B9Fr1YkY8ooxQHbB3qIAXbzjvUww+co/z2PEvQ=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=HEE1IuETgiPL9Y4auCqIHedjvAqmoqkWxUTyFumQEDTs0GY9z035k97ZXI832CmwE YQnjk9t7x3hZzS1Y/VS1rVZWq7ChOw4w2tR4w2gCqEDMcDCt89Vyk9RxX6nTQLoO0q CJ43nHp9tWih4UTFAgSvcG71vBRjl119+0TR+NXQ=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.389
X-Spam-Level:
X-Spam-Status: No, score=-4.389 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=tzi.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b8eYywIUam_1 for <cbor@mail2.ietf.org>; Fri, 1 May 2026 11:57:01 -0700 (PDT)
Received: from smtp.zfn.uni-bremen.de (smtp.zfn.uni-bremen.de [IPv6:2001:638:708:32::21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id DA4A2E77BFFB for <cbor@ietf.org>; Fri, 1 May 2026 11:57:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=tzi.org; s=2019; t=1777661815; bh=0H2Z0B9Fr1YkY8ooxQHbB3qIAXbzjvUww+co/z2PEvQ=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=TfY7Tp3pAUJ5Bu7SvyV0hH3EafR7kNnig3t4oVLpjJQ0bSN/a6F+nd6mSXD/OaTpo UgWSBeqanqTOIZAd74l15u/cvlangUASlMOv5GIiOLt6vFtTzFHHTd+o4vGd2vip/j UkdLG7UAdSQeuCENuHJGNtVj2IHS36ityETOlZKKZBd1ZFtelCgjt3WKNysWU63iFw N+RMVGmT7FpZkDDRUnPZmHkF4yI0aVEm+yDXvDz3ZKXxeH9VdLdFJgwxATCE9LnQEC urV37LlBc9zpOnGysBPpIU68lsQtcQw91ynt48j9ZGpyq9Y3UEpHyfXVJR7IAzgb4F E7CbGPWTv+oOA==
Received: from smtpclient.apple (p548dcfc9.dip0.t-ipconnect.de [84.141.207.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4g6gJ66Rf7zDCbT; Fri, 1 May 2026 20:56:54 +0200 (CEST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.500.181\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <CAKoiRuZ6GzcNu1FKqyXfxQzTYVY=+8vgcE3R8RY3MwRQ5+2BPQ@mail.gmail.com>
Date: Fri, 01 May 2026 20:56:44 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <BE37B004-717E-4530-9748-80A3588E2561@tzi.org>
References: <177746864313.330731.1323092014299188811@dt-datatracker-b45949c58-t72jx> <20260429192059.7e7ade5b@nuclight.lan> <CAKoiRuZge1uVY6Ymraej6vd+JKMTu6gk7aG0U3F8hOsOSTukmw@mail.gmail.com> <6594F127-E6D4-425D-8162-E8A0DBEEB0B2@tzi.org> <CAKoiRuZ6GzcNu1FKqyXfxQzTYVY=+8vgcE3R8RY3MwRQ5+2BPQ@mail.gmail.com>
To: Rohan Mahy <rohan.mahy@gmail.com>
X-Mailer: Apple Mail (2.3864.500.181)
X-FromAuthMilter: ok
Message-ID-Hash: G4AIM42YJISPMDACUGFHFFH4OUHBUSDT
X-Message-ID-Hash: G4AIM42YJISPMDACUGFHFFH4OUHBUSDT
X-MailFrom: cabo@tzi.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cbor.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: CBOR <cbor@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Cbor] Re: registrations before WGLC Re: I-D Action: draft-ietf-cbor-edn-literals-23.txt
List-Id: "Concise Binary Object Representation (CBOR)" <cbor.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/GTCVaURyL_c4YjQyQ4xyTrfMpeY>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Owner: <mailto:cbor-owner@ietf.org>
List-Post: <mailto:cbor@ietf.org>
List-Subscribe: <mailto:cbor-join@ietf.org>
List-Unsubscribe: <mailto:cbor-leave@ietf.org>

On May 1, 2026, at 19:10, Rohan Mahy <rohan.mahy@gmail.com> wrote:
> 
> If you don't want complexity, you should get rid of have backtick quotes altogether. They add a LOT of complexity,

I don’t think they do.
I usually implement improvements before I propose them, and raw strings (backquotes) wen’t in pretty surgically.
OK, there are 99 lines of new test cases, but these already are done and do not causes repeated work for every implementer.
I must admit that for the PoC I did a bit of copy/paste in the annotated ABNF, so there are 25 new lines.
There was zero impact on other parts of the system, and that would have been *real* complexity.
(Well, I also needed to write two new integrated parsers for those who want them, but even that was trivial given the simplicity of raw strings.)

> and they merely provide an additional way to do something that we can already do.

During the strong mission creep that the edn-literals project underwent, the WG at some point decided that we were going to address usability problems of the underlying JSON approaches.
I believe we were quite successful in that, even if we needed to make late updates to the comment syntax and in adding rawstrings.

At the time JSON was derived from JavaScript, JavaScript didn’t have raw strings, so JSON doesn’t have them either.
Since then, almost every long-lived language had to bolt on raw-ish strings; between the mainstream programming languages, only C remains in this class (not C++).
JavaScript has an interesting concept (also using backquotes) called templates that addresses some, but doesn’t solve all problems raw strings address, so there wasn’t anything we could simply copy over after the fact.

Note that the considerations here are different from CBOR itself, which needs to be minimal as it is intended to provide interchange for constrained systems; EDN is for capable systems (it is easy to do partial implementations for debugging output of systems between there on the spectrum; just don’t send rawstrings).

> Likewise, the whole tag 999 functionality could be left out and defined elsewhere if you wanted more simplicity. It's not at all obvious that having a CBOR document with these "unknown EDN" tags is useful.

Whether that is obvious depends a lot on the perspective.
EDN is used in quite different workflows, which may employ multiple processors; being able to run these workflows through processors that not all implement all the application-extensions needed provides significant deployment benefits.

> But adding one new array parameter to that tag (which can be described in a paragraph) that allows recovering the original EDN from such a document is "too complex". You certainly have an "interesting" way of calculating complexity.

The parameter is not the problem.
The problem is that by removing the level of abstraction provided by *not* having it you suddenly entangle all application-extensions in that complexity.  
For each extension separately, at a design level, at a usability level, at an implementation level.
It is really hard to argue this point because this is such a severe impact.

> I've noticed that when I have made arguments in favor of simplicity in EDN, those arguments have been dismissed.

Generally, we need to weigh things.
What kind of complexity?
What is the benefit?
Arriving at decision that includes arguments in both directions the decision could take is not always easy.
It doesn’t mean that the arguments that don’t win are “dismissed”.
(It may seem that way because typically we have already discussed many arguments and have already weighed them.)
Remember that we are *not* designing this just for the wire, but for humans to use.

> You are going to have to come up with a much more cohesive argument than that to convince me.

Thank you for this advice.

Grüße, Carsten