[Cbor] Re: NOT removing bactick-delimited strings (was Re: Remove rawstring extensions from CDN (draft-ietf-cbor-edn-literals))

Vadim Goncharov <vadimnuclight@gmail.com> Wed, 12 August 2026 10:46 UTC

Return-Path: <vadimnuclight@gmail.com>
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 9FFD012873A07 for <cbor@mail2.ietf.org>; Wed, 12 Aug 2026 03:46:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1786531613; bh=G+uZ/VzmiMZeeIeTWnmgh5Bsx+1J2B4HuGZp7F0Myes=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=eDvOl8s6Um+jdDYQ5PPuuWNmVhlO8RGrWNiAMbItwt6+MScxfu0gw8KZrE5dI0Qju iOQywAXzYLrbuUzmKPLbbnHo1ZubuvkuKNld/n1pZjsqXJf88V9v2qFNzPmD6ttV74 5XogefDcR9AmpGQT/D1RlIyqLOMlv/ZIs2uHfhZs=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 vFiFj3lTrRHP for <cbor@mail2.ietf.org>; Wed, 12 Aug 2026 03:46:53 -0700 (PDT)
Received: from mail-wr1-x435.google.com (mail-wr1-x435.google.com [IPv6:2a00:1450:4864:20::435]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 0859F12873A02 for <cbor@ietf.org>; Wed, 12 Aug 2026 03:46:53 -0700 (PDT)
Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-47fd4531020so438176f8f.3 for <cbor@ietf.org>; Wed, 12 Aug 2026 03:46:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786531606; x=1787136406; darn=ietf.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Tx51jAqwE3cEtCH2T1OQzhHkzxGQR2+MS8YAqj/FSqE=; b=BOEhoyFDhi/yFS60L8fpBgQp0NW30gm0sd7hLFLOQO0/u7AKZr5QDo6Shv8s0TlcyM qVHEGnoi0IpPA5Ihh2MXi1XatghR+WDQKPnSMWn/0Z0bRvboszP2ihU7I9B8TlRmSZtP 6rp/3NcX55NECY7PjH1balQrvBDyR8RWurgRphTkvy8HV7ku3i09/mtwa4Gh+LAFfVAN KP9tWIUJ2cUxVJ528q38bRuRp6he8ZYqIMTJYVOlNrV5viBo71rVSREKR7MX7rhMXcuI uO/bfpbxuPlscewuHFQP+PgfCot0bZS3fctVhO+HbW+/NDRCC4xAEcigkaSFUihnDbCs XcNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786531606; x=1787136406; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Tx51jAqwE3cEtCH2T1OQzhHkzxGQR2+MS8YAqj/FSqE=; b=QU/vkRuQKsYKYT/ELemtAeKl3bvt0jgiriOiPwWMzZwW2MtmhlC2ZNBRtx5AEb4J9D NasH/Q3xP2nl7oWFYWnPfUkX5LcyctEF4NT45ejSqX/AlwjDYnLFrSXuA48wqBtbZSks J8Uq+4aiZ4FVY6Qew2Ws0Yb7ihvdLNBdDZ9S+9ie0NDPf8wOM64N7goApq+0NWoApuaS k5CVxQJLadf+230xhiV5CsLvuVF0JU/MCIAgY+/x3q9PniNAV5szMuxJyQky0nRZ+8FC +7g/f+6Ja8t8J3bCcgZp9tu0I9ZlU7xR91pBgtNLwkl2AJrsVD9BjikUFNF6bN+jW+BN LBRQ==
X-Forwarded-Encrypted: i=1; AHgh+RrpvGzgIdMguGHMektohmQPKofOoM5pfeRKb6YpIf6q3+tp4k4PcCfWk+07e5qV1YqBRLUO@ietf.org
X-Gm-Message-State: AOJu0YwhPB6bdreh+Gus+3BEwp6pFq9UCE3UwufmqOE3Psc/5dR4fXEn eBd8TZIOiN/hqucSm4820jNVZmK75XNERi2WUf/N8vQKSETaOF1HLpVQjqsCdcgacf0=
X-Gm-Gg: AR+sD12+m5KRiCG3uqXHqOlDQaCmh7wQNv22xI5fTAEdvRpT02kVQqPp2SA9xFU9VCJ DwaYiwtlrlDBGtNde1CaIKL2MeC91y70PfM9PyX3yGYgTAfgMdUNCOw6NwWsQ4xAjHPZos4VRWs bdySIRcyghUERS9TbmtunzUTqXuSyxS9+XEl6HHGuKSH/7EQdMmZcCZOlqNAvtyv9L86cnwyDFY l9Kpe1WrvPAVGhegEMPN7NLEGDgkKNuUO1TdOHJeqlP1TXi6pK0O6LfZxzN+mdZ3pnv3y0KK52l nlljUTa7Uo9EGtke9fBxWxAvlTB0VuwbQpLP2yf30e6A5QU4/6v713uDDmqkN0BfwrMzftt3GUC mFJNtWmTRO+rYh05O2jCbh+dMawy2n3emT5l6Q3zODrlitc0irI+sFRC6S1di2uQJI1yhfDMUkb ZL39bU1s3wHpo5UkMrFPqtcGtROHfIkL9MOThmFDCl5NmZJTxshHFyy8/BdbCiAdmT+bw07rSZ2 X1H2m6NWrM4y6DziifMuI8O1h144Yw=
X-Received: by 2002:a05:6000:2a0c:b0:47d:ea8a:d224 with SMTP id ffacd0b85a97d-48152b10331mr4479682f8f.23.1786531605898; Wed, 12 Aug 2026 03:46:45 -0700 (PDT)
Received: from nuclight.lan (broadband-77-37-180-76.ip.moscow.rt.ru. [77.37.180.76]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48150bf5f1csm6945817f8f.8.2026.08.12.03.46.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Aug 2026 03:46:45 -0700 (PDT)
Date: Wed, 12 Aug 2026 13:46:42 +0300
From: Vadim Goncharov <vadimnuclight@gmail.com>
To: Rohan Mahy <rohan.mahy@gmail.com>
Message-ID: <20260812134642.55150840@nuclight.lan>
In-Reply-To: <CAKoiRuZ3bQn6VaV+ksqoDEMfzgzAS2xfXsbu65dC+N1WCFatsg@mail.gmail.com>
References: <CAKoiRuY_g=COhYq5bZYzpo-Nv1_ABwjfGN1y_nD-RXb6ea=UPQ@mail.gmail.com> <CAKoiRuZ3bQn6VaV+ksqoDEMfzgzAS2xfXsbu65dC+N1WCFatsg@mail.gmail.com>
X-Mailer: Claws Mail 4.4.0 (GTK 3.24.52; amd64-portbld-freebsd13.5)
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: 5R3AAJJQHEAMJKWK6KMHELWNATEL7JVR
X-Message-ID-Hash: 5R3AAJJQHEAMJKWK6KMHELWNATEL7JVR
X-MailFrom: vadimnuclight@gmail.com
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: Christian Amsüss <christian@amsuess.com>, CBOR <cbor@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Cbor] Re: NOT removing bactick-delimited strings (was Re: Remove rawstring extensions from CDN (draft-ietf-cbor-edn-literals))
List-Id: "Concise Binary Object Representation (CBOR)" <cbor.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/tgWQ-WlFSOmVIF_VTm_SzzP881c>
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 Mon, 10 Aug 2026 05:48:40 -0400
Rohan Mahy <rohan.mahy@gmail.com> wrote:

> Hi All,
> To clarify, my proposal below does NOT remove backtick-delimited strings as
> an alternative to double-quoted strings. It just makes them not
> app-prefixed strings. There is no loss of functionality.
> 
> copying the Why:
> Currently -27 allows app-prefixed rawstring extensions. We already have
> app-prefixed extensions using << >> and using ' '. We don't need a third
> variation of app-extensions.
> 
> Instead of writing h``012345 /don't forget/ `` you can already write
> h<<``012345 /don't forget/ ``>> or h'012345' /don't forget/ .

But you can't write sql'SELECT foo, 'const' FROM t WHERE bar ='a' and baz > 2'
while sql`` will allow this, and that's the entire reason for `` to exist and
why it was introduced half a year ago per mine request EXACTLY to avoid
backslash-hell.

Thus, -1, it is crucial feature.

> On Sun, 9 Aug 2026, 18:57 Rohan Mahy, <rohan.mahy@gmail.com> wrote:
> 
> > Hi,
> >
> > *What needs to be removed?*
> > *Remove*:
> > - Table 3, 4th entry
> > - app-rstring from bstr production in Section 6.1
> > - definition of app-rstring production in Section 6.1
> >
> > Section 2.3 3rd ¶
> > Many strings are best notated as prefixed literals, which may provide
> > detailed access to the bits within those bytes (see Section 3.1
> > <https://www.ietf.org/archive/id/draft-ietf-cbor-edn-literals-27.html#encoded-byte-strings>).
> > Using an app-extension prefix, prefixed literals can be constructed out of
> > single-quoted strings and raw strings, as well as sequence literals (cf.
> > Section 3
> > <https://www.ietf.org/archive/id/draft-ietf-cbor-edn-literals-27.html#app-lit>
> > ).
> >
> > Section 2.3.2 last ¶
> > Single-quoted pPrefixed string literals (whether single-quoted after the
> > prefix or a raw string (Section 2.3.3)) are used for prefixed literals
> > (see Section 3, such as base-encoded byte string literals (see Section
> > 3.1). (Additional kinds of base-encoded string literals can be defined as
> > prefixed literals by registering their prefixes; there is no fundamental
> > difference between the original two predefined base-encoded string literal
> > prefixes (Section 3.1: h, b64) and any such potential future extension
> > literal prefixes; for simplicity of expression, both cases are referred to
> > as "prefixed literals".)
> >
> > Section 3 swap quotes.
> > The string-based forms use their string literal as a shorthand form for a
> > sequence literal representing a sequence with exactly that one text string
> > data item, e.g., b64`'Zm9v`' is a shorthand for b64<<"Zm9v">> or
> > b64<<`Zm9v`>> (this specific example obviously depends on Zm9v being
> > allowed and meaning the same within the different forms of string literals
> > used in the example).
> >
> > Section 3, 3rd paragraph from the last:
> > When the prefix is used immediately in front of a single-quoted or a raw
> > string, the input takes the form of a single text string CBOR data item
> > (this is useful only if the app-extension is designed to receive a text
> > string as input). When used immediately in front of a sequence literal, the
> > input is a CBOR sequence of elements of the sequence literal as input. (For
> > a single parameter, this is equivalent to receiving a single CBOR data item
> > as the argument.) The app-extension can provide behavior that depends on
> > the number of items supplied as input to it and their data types; it cannot
> > distinguish between its prefix being used with a single-quoted string, a
> > raw string, or a CBOR sequence composed of a single text string data item
> > (as illustrated for instance in Tables 3
> > <https://www.ietf.org/archive/id/draft-ietf-cbor-edn-literals-27.html#tab-equiv-dt>,
> > 4
> > <https://www.ietf.org/archive/id/draft-ietf-cbor-edn-literals-27.html#tab-equiv-ip>,
> > and 5
> > <https://www.ietf.org/archive/id/draft-ietf-cbor-edn-literals-27.html#tab-equiv-hash>
> > ).
> >
> > Section 3.1 1st ¶, remove everything from "when using single-quoted, or..."
> >
> >
> > *Why should this be removed?*
> > Currently -27 allows app-prefixed rawstring extensions. We already have
> > app-prefixed extensions using << >> and using ' '. We don't need a third
> > variation of app-extensions.
> >
> > Instead of writing h``012345 /don't forget/ `` you can already write
> > h<<``012345 /don't forget/ ``>>   or   h'012345' /don't forget/  .
> >
> > *How could we add this later?*
> > This would simply require the new grammar to tolerate wordchars (other
> > than the four reserved words) before backtick-quoted strings. EDN
> > implementations conforming to the base spec (that did not support
> > the feature) would give an error.
> >
> > Thanks,
> > -rohan
> >
> >
> > On Tue, 4 Aug 2026, 18:04 Christian Amsüss, <christian@amsuess.com> wrote:
> >  
> >> Hello CBOR group,
> >>
> >> as discussed on list[1] and in the meeting[2], we are entering a phase
> >> of removing features from CDN that prevent it from reaching rough
> >> working group consensus.
> >>
> >> Opening a thread
> >> ----------------
> >>
> >> For every feature you object to (or, as per [1]#6, you consider
> >> incomplete), please send a mail to the list
> >>
> >> - in reply to this mail,
> >>
> >> - with the subject of the pattern "Remove ... from CDN
> >>   (draft-ietf-cbor-edn-literals)"
> >>
> >> - with text on what is to be removed, and from where in the document
> >>   (no need for a full editorial clean-up on each and every reference,
> >>   but including points where there are feature interactions and how
> >>   those are to be resolved)
> >>
> >> - giving the technical reason why this should be removed (or a pointer
> >>   to an on-list mail)
> >>
> >> - indicate how the feature can be added later as per [1]#2 (no need for a
> >>   full plan, a sketch suffices)
> >>
> >> If you think it helps the clarity of the proposal (esp. on feature
> >> interactions), you can open a pull request at [3] and link it. This does
> >> not replace any of the above, but can help preempt clarifying questions,
> >> and can help show that indeed it is a well-scoped excision.
> >>
> >> Responding to a thread
> >> ----------------------
> >>
> >> If you support a removal (and we need more than just the original
> >> proponent as per [1]#2), respond to the proposing mail briefly to state
> >> that.
> >>
> >> Refrain from pointing out disagreement on the list (or any corresponding
> >> PR): the arguments have been had. Pointers to feature interactions that
> >> were missed are appreciated, as are clarifying questions if interactions
> >> are missed or would be unclear after the removal. Be reminded to act in
> >> good faith here; more conretely, don't just ask to re-start already
> >> documented arguments.
> >>
> >>
> >> Both for opening and responding to a thread, please take the time to
> >> revisit past arguments, consider them, and enhance your text
> >> accordingly.
> >>
> >>
> >> Best regards
> >> Christian
> >> as a working group chair
> >>
> >> [1]:
> >> https://mailarchive.ietf.org/arch/msg/cbor/tMMMTMgqX0r963HFPikOGQvO0Vo
> >> [2]: https://datatracker.ietf.org/meeting/126/session/cbor
> >> [3]: https://github.com/cbor-wg/edn/pulls
> >>
> >>
> >> --
> >> Beware paths which narrow future possibilities. Such paths divert you
> >> from infinity into lethal traps.
> >>   -- Leto Atreides II
> >> _______________________________________________
> >> CBOR mailing list -- cbor@ietf.org
> >> To unsubscribe send an email to cbor-leave@ietf.org
> >>
> >>  



-- 
WBR, @nuclight