From nobody Sun Mar 12 15:02:23 2023
Return-Path: <wolf@wolfmcnally.com>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id 7D5B3C14CF12
 for <cbor@ietfa.amsl.com>; Sun, 12 Mar 2023 15:02:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001,
 SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
 header.d=wolfmcnally-com.20210112.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194])
 by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id cy_wK79hrSLM for <cbor@ietfa.amsl.com>;
 Sun, 12 Mar 2023 15:02:18 -0700 (PDT)
Received: from mail-ot1-x32e.google.com (mail-ot1-x32e.google.com
 [IPv6:2607:f8b0:4864:20::32e])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 306F5C14CE4C
 for <cbor@ietf.org>; Sun, 12 Mar 2023 15:02:18 -0700 (PDT)
Received: by mail-ot1-x32e.google.com with SMTP id
 p13-20020a9d744d000000b0069438f0db7eso5785954otk.3
 for <cbor@ietf.org>; Sun, 12 Mar 2023 15:02:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=wolfmcnally-com.20210112.gappssmtp.com; s=20210112; t=1678658537;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=vzwyNj1PqkW/X8lHW7wO9n8I18fOa0hTnAIll5PGX9Q=;
 b=QCQg0fVeHinHFdqXxvw9cJqxytREP0DfW/d5QIoTKI6yaLefKYzbaQCJumlJ5C7mUj
 OnPaiRxMaFb6aKR8+FacMByjYwZrDEI2NK84PzKGhjQBoVxZc3X9+3K8veN42YG5afcn
 fWRBlYYewOXt4G3OkFxozmEwqplT/UMQYDlIpXddAcs34ZXZ6amtw+2l6qNvK5Sa5aIy
 JxpDgyjsNDuA5gvDTpq3jgOuWlJVmAPHdGPDdrNLdt1fiyCYkxOjuxQyCesw2Gen4J/3
 N/NuluUKlKEeBQvTzIpWA0cOWNZVEWvJmzZR0vFoq5kJbKZ/uEVQ3Di7robrTR3wmsBo
 y2BQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1678658537;
 h=to:references:message-id:content-transfer-encoding:cc:date
 :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=vzwyNj1PqkW/X8lHW7wO9n8I18fOa0hTnAIll5PGX9Q=;
 b=jadZuO3cJeP0Bc6cagWJO+qxkIWIc2QS7dl1aKk7T0LbtR1XH14Qnl5cgBZlE+pA9d
 npVCtWBNoA8TqzsyTZCkMKmcfXSP6uXteRT0tXA27bOXDdPIx3VOXLkFauY35o3vSARf
 8PzoU+TvUswrvrRLof+N/LcQONDU/381nvVvp0Ez0vIUZdo9S8Pz56Es6AABruH3Szzh
 Y9zRd7Os2jwd9RMlYxYVDc55QE7fRd/ZaBnjf/IUR2kDD1R8fe0bzgOoY4GBwe0cso0B
 EJ5ue7vkdayUAdgqFadQiO3XGSTLQ87msoyJ+///NMejz/CRp3rLUd+fjwtlli7uqWWE
 50Mw==
X-Gm-Message-State: AO0yUKV3lfr8lZ36GG6w+Dh78LJhicuupBHwzUOO8ym2Sp42nR8pBz4o
 49RNbG6M7JVvyNWs225/IjHb1Q==
X-Google-Smtp-Source: AK7set/EKP5fHhZEBCqqzlmNbqjZ4e+YhcfOwneeFF9Ry6Y3P8AFqjOkSeBxh0jyo42P2Ecoqse8/A==
X-Received: by 2002:a9d:603:0:b0:68d:5f85:4951 with SMTP id
 3-20020a9d0603000000b0068d5f854951mr4329587otn.11.1678658537322; 
 Sun, 12 Mar 2023 15:02:17 -0700 (PDT)
Received: from smtpclient.apple ([185.222.243.89])
 by smtp.gmail.com with ESMTPSA id
 y30-20020a9d461e000000b00688449397d3sm2523912ote.15.2023.03.12.15.02.16
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Sun, 12 Mar 2023 15:02:16 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\))
From: Wolf McNally <wolf@wolfmcnally.com>
In-Reply-To: <7AAE85BD-AD41-445C-B747-B80523B068ED@tzi.org>
Date: Sun, 12 Mar 2023 15:02:05 -0700
Cc: cbor@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <D94A8AF2-401A-4A2F-AA0A-6097169DD0E0@wolfmcnally.com>
References: <2B1FA8CC-AD83-4E58-BE27-B6504F555694@wolfmcnally.com>
 <8551021E-A1A2-4764-B0DF-D3E7591EC9B6@tzi.org>
 <FD5D8771-E1CF-4C63-A141-054DE0085399@wolfmcnally.com>
 <D714A0A4-7452-4C45-8542-7A57A75C9748@tzi.org>
 <35A71381-A9DD-479C-A7D5-9B06F70B6F50@wolfmcnally.com>
 <3CE988BD-C87E-4A0C-ADA8-79124FE1FB51@tzi.org>
 <382FB8D4-03B8-4B92-B7BA-B3760D77D258@wolfmcnally.com>
 <7AAE85BD-AD41-445C-B747-B80523B068ED@tzi.org>
To: Carsten Bormann <cabo@tzi.org>
X-Mailer: Apple Mail (2.3731.400.51.1.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/9bZm20jNWSTCKRO1pHMexCyqe6c>
Subject: Re: [Cbor] dCBOR moving from numerically-typeless systems
X-BeenThere: cbor@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Concise Binary Object Representation \(CBOR\)" <cbor.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cbor>,
 <mailto:cbor-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor/>
List-Post: <mailto:cbor@ietf.org>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cbor>,
 <mailto:cbor-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 12 Mar 2023 22:02:22 -0000

Carsten,

> On Mar 12, 2023, at 1:47 PM, Carsten Bormann <cabo@tzi.org> wrote:
> This can get way more complicated, even with 0xf7 =E2=80=9Cundefined=E2=80=
=9D being around as well.
>=20
> Exhibit 1:
>=20
> https://github.com/svaarala/cbor-specs/blob/master/cbor-absent-tag.rst
>=20
> But, yes, in CBOR we can always invent more values to express various =
forms of not-being-there, being-mostly-absent, =
keeping-a-position-occupied-but-not-taken, =E2=80=A6
> (Harder to do in JSON.)  We even have NaN :-)

One of the goals of dCBOR is to encode semantically equivalent =
information the same way. So far I haven=E2=80=99t implemented =
`undefined` in my code, so it is rejected as not well-formed. I see =
`undefined` as a run-time Javascript artifact, and the only place I =
could see it being useful would be in, for example, reporting the result =
of remote execution of JavaScript code. This is such a domain-specific =
use case that I don=E2=80=99t see much point in dealing with it in dCBOR =
directly. Likewise with the =E2=80=9Cabsent=E2=80=9D tag you refer to =
above. I can see why all this might be necessary if absolute fidelity in =
round-tripping is a requirement, but this is a non-goal for dCBOR; =
indeed it *can=E2=80=99t* be a requirement as not all CBOR is valid =
dCBOR, and by extension not all JSON can be converted to dCBOR, so =
round-tripping is out, unless you=E2=80=99re also going to specify a =
compatible profile for dJSON.

~ Wolf=

