comp.lang.ada
 help / color / mirror / Atom feed
From: Mehdi Saada <00120260a@gmail.com>
Subject: Re: article on acces types and dynamic serialization in Ada (2003)
Date: Fri, 23 Feb 2018 02:30:31 -0800 (PST)
Date: 2018-02-23T02:30:31-08:00	[thread overview]
Message-ID: <e0312102-f3dc-4e54-a5fa-814761c6c959@googlegroups.com> (raw)
In-Reply-To: <503e3322-ee8e-4d6f-9aa5-e7b98f87e8f8@googlegroups.com>

> full serialization doesn't make sense (as a default) for any language, since
one has to deal with recursive data structures. Having P'Write go into an
infinite loop is hardly sane!
It goes without saying. That's why the paper (and Dmitry also) talked about reference counting. It supposes a protocol and more informations than just data and bounds, to associate such node with another, in which way.
It could be I'm just too ignorant of data-structures, but besides (different types of) nodes and (different types of) pointers to represent arrows/links, I don't see why a reference counting strategy wouldn't work for all. That would use a (flat/binary, no json or whatever) uniform data-structures description protocol  protocol of data structures. The graph
(1)(A,_1_,_3_)(2)(B,_1_,_3_)(3)(C,_2_,_3_)
You would have to indicate how many such nodes are laid out, nodes or anything else, create as much (general) access values, and points the indicated nodes (_1_ being the first written). A bit of (lame) ASCI art; 
 .<--|
 |->(1,A)-->(2,B)
     ^       |
     |      `-'
     |----- -3->.  
             |<__] 

> For the Node_Ptrs to be written as anything useful, you'd have to dump the
entire list -- but that then would be duplicative.
Go through, not dump... hence the use of lists. I'll try contacting the guy, maybe he tried develop such a generic algorithm and failed. I'll learn something at least.

  parent reply	other threads:[~2018-02-23 10:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-21 23:57 article on acces types and dynamic serialization in Ada (2003) Mehdi Saada
2018-02-22  9:16 ` Dmitry A. Kazakov
2018-02-22 12:08   ` guyclaude.burger
2018-02-22 12:15 ` Mehdi Saada
2018-02-22 13:04   ` Dmitry A. Kazakov
2018-02-22 23:49   ` Randy Brukardt
2018-02-23  3:40     ` Shark8
2018-02-23  7:23       ` Jacob Sparre Andersen
2018-02-23  8:38         ` Dmitry A. Kazakov
2018-02-23 20:28           ` G. B.
2018-02-23 20:40             ` Dmitry A. Kazakov
2018-02-23 10:30 ` Mehdi Saada [this message]
2018-02-23 13:13   ` Dmitry A. Kazakov
replies disabled

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