Re: [Json] JSON and int64s - any change in current best practice since I-JSON

Joe Hildebrand <hildjj@cursive.net> Wed, 17 January 2024 16:48 UTC

Return-Path: <hildjj@cursive.net>
X-Original-To: json@ietfa.amsl.com
Delivered-To: json@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 588AFC15106C for <json@ietfa.amsl.com>; Wed, 17 Jan 2024 08:48:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 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_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cursive.net
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 dk0u1h9qZfBI for <json@ietfa.amsl.com>; Wed, 17 Jan 2024 08:48:00 -0800 (PST)
Received: from mail-oi1-x22a.google.com (mail-oi1-x22a.google.com [IPv6:2607:f8b0:4864:20::22a]) (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 76D03C15106F for <json@ietf.org>; Wed, 17 Jan 2024 08:48:00 -0800 (PST)
Received: by mail-oi1-x22a.google.com with SMTP id 5614622812f47-3bd6581bc62so3176958b6e.2 for <json@ietf.org>; Wed, 17 Jan 2024 08:48:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cursive.net; s=google; t=1705510079; x=1706114879; darn=ietf.org; 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=0R61XXXSaY6zdOahlZzbQvpr9Mf7n+Q743N+s0zDJaE=; b=oAfvAR5tDzjFR/ZM6nI3RvX7eNlJdBPjRYIiFkFTkYjXcwBSPuRALXdabXERMGQtQ8 +Uh371SUnY84jJusx64HhN5qTnBqOpYrs+KatiXpDaD/P5iHAzN6lf2kjwAAJE9UVp9M rZAsChVVcvCwUkzetTULc0FC4Cm/ZRMtGgN/M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705510079; x=1706114879; 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=0R61XXXSaY6zdOahlZzbQvpr9Mf7n+Q743N+s0zDJaE=; b=o6bNT/jPrFM7Vlf0nXz37IHw2iCvQPiQ2p6vZnLQBB3WSZ5T96LnfFjV7Qw7lYGy5J nEdiV1LBUxYZxKeAYJAfv4E339YbzsOd0x1Efn++IlpE236zTnoAzR7x5pew7ChohoSa N1tTfIDA00bwl0ZZmjdCN+ri4X70/r0aVhaN52/iO7W7eQNVXOQ5sTZBVB0RpBKP+V/K 6otQvk/PSDHUkv1ECKRnZgoh1rwZtNU28Y0H5fq9VNWHPMKNevenoJf05jQ98xWu82RT 0uEtJz3yb04oUh0Aj5UQzAhdI+06UQts4Bh92doXg4fUreKN1qRyyh/IuoLyWYfTw/4h lxYA==
X-Gm-Message-State: AOJu0Yx4yBc52z67HEq2RgrQ2viMe/PZ26ExIrvF5dLfwbUP3c4oWCHm t1BncEGh4SwrjK/1kVTMtAJYohbmjyy2puCc5YU7Ylk1wg==
X-Google-Smtp-Source: AGHT+IGVqUKB3FELmQPlwGp1bAeWqvxnVOQSiAXs0I+91+ucO1LSv9qCGHUY4fW0uurjW0GRte2u1w==
X-Received: by 2002:a05:6808:1154:b0:3bd:4c35:343e with SMTP id u20-20020a056808115400b003bd4c35343emr10806619oiu.11.1705510079623; Wed, 17 Jan 2024 08:47:59 -0800 (PST)
Received: from smtpclient.apple (pool-71-163-33-223.washdc.fios.verizon.net. [71.163.33.223]) by smtp.gmail.com with ESMTPSA id w2-20020a05620a0e8200b00783534c512bsm3160540qkm.32.2024.01.17.08.47.59 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 17 Jan 2024 08:47:59 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.300.61.1.2\))
From: Joe Hildebrand <hildjj@cursive.net>
In-Reply-To: <869950DC-647B-4481-AEF8-9E092384E99F@tzi.org>
Date: Wed, 17 Jan 2024 11:47:48 -0500
Cc: Pete Cordell <petejson@codalogic.com>, "json@ietf.org" <json@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <CBD32B58-8328-4602-89C6-BC2A7A875A0D@cursive.net>
References: <87527a42-aaac-4f39-b320-05f18a2808c1@codalogic.com> <C31BF4C8-9E6C-48F8-BF7B-D2C379273B3F@tzi.org> <CAHBU6it4SaLawSiBgK9ySkbxjtHE6CX-P3r=hzcVy4ksoQo-Cg@mail.gmail.com> <CAChr6SxHfLW-A1asAndKJz-AiyJv5QP18bi=_bNdKXw7zYHThw@mail.gmail.com> <CAChr6SweYdCWxSABZ7g20Zd-xBFzcK0Ritq53S7WtjSwc-vLmw@mail.gmail.com> <E5A68370-CC2F-4618-AB39-39A382656616@cursive.net> <807fea1b-a22b-4d6b-aa5d-720c9b12023c@codalogic.com> <09233A73-3A6B-4E6F-AEB8-596AC6442E24@cursive.net> <869950DC-647B-4481-AEF8-9E092384E99F@tzi.org>
To: Carsten Bormann <cabo@tzi.org>
X-Mailer: Apple Mail (2.3774.300.61.1.2)
Archived-At: <https://mailarchive.ietf.org/arch/msg/json/4FR1Htno-ELYHm2FSRqB92_M6Tw>
Subject: Re: [Json] JSON and int64s - any change in current best practice since I-JSON
X-BeenThere: json@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "JavaScript Object Notation \(JSON\) WG mailing list" <json.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/json>, <mailto:json-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/json/>
List-Post: <mailto:json@ietf.org>
List-Help: <mailto:json-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/json>, <mailto:json-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Jan 2024 16:48:04 -0000

Regardless, this would be a hard fork of JSON, with a new name -- I just started a git repo called "ESON", for instance.  Like YAML, one of the goals might be that all well-formed JSON is well-formed ESON, and would produce the same thing that you expected from your local equivalent of JSON.parse.

I'm not sure why other platforms couldn't parse this:

```eson
[
  // Always generates a bigint
  1n,
]
```

into a single element array containing their local bigint type?

— 
Joe Hildebrand

> On Jan 17, 2024, at 11:41 AM, Carsten Bormann <cabo@tzi.org> wrote:
> 
> On 2024-01-17, at 17:28, Joe Hildebrand <hildjj@cursive.net> wrote:
>> 
>> The approach that seems right to me is to make it explicit; bigint's get suffixed with 'n', and there is not automatic promotion to break existing code.
> 
> This creates a fork of JSON that is only useful with JavaScript?
> 
> (To use it with other platforms, you’d need to do exactly the “automatic promotions to break existing code”.)
> 
> Grüße, Carsten
>