comp.lang.ada
 help / color / mirror / Atom feed
From: Lawrence D'Oliveiro <ldo@nz.invalid>
Subject: Re: In memory Stream
Date: Thu, 22 Feb 2024 19:53:02 -0000 (UTC)	[thread overview]
Message-ID: <ur88mu$1rr1$6@dont-email.me> (raw)
In-Reply-To: ur723f$3pirk$1@dont-email.me

On Thu, 22 Feb 2024 09:54:07 +0100, Dmitry A. Kazakov wrote:

> On 2024-02-21 20:44, Lawrence D'Oliveiro wrote:
>
>> Think of a stream of bytes as the ultimate meta-format.
> 
> Of course not. It is not a format it is a transport layer.
> [ BTW, it is not bytes, it is octets actually ]

We normally work with bytes here. And your “transport layer” is what gets 
the bytes from one place to another. So my point still stands: the 
bytestream is the ultimate lowest-level meta-format.

> Implementation of serialization/deserialization on top of
> JSON is exponentially harder than on top of an octet stream.

We already have libraries for doing that, at least for byte streams. 
That’s why it’s so much easier to build on top of those, rather than going 
back to bytes every time.

As for octets--I guess you’re on your own.

> Alone specification of handling missing, superfluous, wrongly typed
> fields is a huge work before a single line of code is written.

All the code for that already exists, in most if not all common languages.

> 5. JSON cannot specify constraints, like value ranges, precision,
> variable record fields, array bounds.

Those are specific to the format you are building on top of the meta-
format.

> 6. JSON has no means of reflection.

Again, this is specific to the format. For an example of how you can do 
this, see Varlink <https://varlink.org/>.

  reply	other threads:[~2024-02-22 19:53 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-16  9:41 In memory Stream DrPi
2024-02-16 10:40 ` J-P. Rosen
2024-02-16 12:40 ` Dmitry A. Kazakov
2024-02-16 12:49 ` Pascal Obry
2024-02-16 20:19 ` Simon Wright
2024-02-16 21:54 ` Lawrence D'Oliveiro
2024-02-17  9:19   ` Dmitry A. Kazakov
2024-02-17 22:00     ` Lawrence D'Oliveiro
2024-02-18 10:06       ` Dmitry A. Kazakov
2024-02-17 13:36 ` DrPi
2024-02-17 14:26   ` J-P. Rosen
2024-02-17 14:42     ` DrPi
2024-02-17 18:52       ` J-P. Rosen
2024-02-18  0:02       ` Lawrence D'Oliveiro
2024-02-17 14:48     ` Dmitry A. Kazakov
2024-02-17 14:28   ` Dmitry A. Kazakov
2024-02-17 14:56     ` DrPi
2024-02-17 18:09     ` Simon Wright
2024-02-17 21:33       ` Dmitry A. Kazakov
2024-02-18 10:06         ` Simon Wright
2024-02-18 13:02           ` Dmitry A. Kazakov
2024-02-18 20:58             ` Lawrence D'Oliveiro
2024-02-18 22:10               ` Dmitry A. Kazakov
2024-02-18 23:44                 ` Lawrence D'Oliveiro
2024-02-19  8:32                   ` Dmitry A. Kazakov
2024-02-20  0:41                     ` Lawrence D'Oliveiro
2024-02-20  8:55                       ` Dmitry A. Kazakov
2024-02-20 19:37                         ` Lawrence D'Oliveiro
2024-02-20 20:45                           ` Dmitry A. Kazakov
2024-02-20 22:32                             ` Lawrence D'Oliveiro
2024-02-21  7:43                               ` Dmitry A. Kazakov
2024-02-21 19:44                                 ` Lawrence D'Oliveiro
2024-02-22  8:54                                   ` Dmitry A. Kazakov
2024-02-22 19:53                                     ` Lawrence D'Oliveiro [this message]
2024-03-25 11:07                                       ` Nioclásán Caileán Glostéir
2024-03-25 21:21                                         ` Lawrence D'Oliveiro
2024-02-18  0:00   ` Lawrence D'Oliveiro
2024-02-18 10:06     ` Dmitry A. Kazakov
2024-02-18 20:56       ` Lawrence D'Oliveiro
2024-02-18 22:10         ` Dmitry A. Kazakov
2024-02-18 23:47           ` Lawrence D'Oliveiro
2024-02-19  8:39             ` Dmitry A. Kazakov
2024-02-20  0:43               ` Lawrence D'Oliveiro
2024-02-19  9:24         ` Björn Lundin
2024-02-19  9:46           ` Dmitry A. Kazakov
2024-02-20  0:42             ` Lawrence D'Oliveiro
2024-04-02  0:21               ` Kevin Chadwick
2024-04-02  0:27                 ` Lawrence D'Oliveiro
2024-04-02  3:27                   ` Kevin Chadwick
2024-04-03 19:43                     ` Pól Niocláſ Caileán Gloſtéir
2024-04-03 22:44                       ` Chris Townley
2024-02-18 11:36     ` Björn Lundin
2024-02-18 20:57       ` Lawrence D'Oliveiro
2024-02-19 14:59         ` Björn Lundin
2024-02-19 17:01           ` Chris Townley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox