comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Simple Components (Generic_Directed_Graph)
Date: Tue, 31 Oct 2017 13:42:20 +0100
Date: 2017-10-31T13:42:20+01:00	[thread overview]
Message-ID: <ot9r3d$e0m$1@gioia.aioe.org> (raw)
In-Reply-To: ot9lr9$4u6$1@gioia.aioe.org

On 2017-10-31 12:12, Victor Porton wrote:

> Why Node.all'Unchecked_Access? Isn't it the same as Node?

No. Node is pool-specific.

And anyway different access types are different types. Ada is strongly 
typed.

It is one of great advantages of Ada typing system that pointer types 
have no structure-equivalence. In particular the solution I proposed is 
based on that. You can have different kinds of pointers to the same 
target type with operations like "<" and "=" defined differently on 
them. Thus having differently indexed structures of targets without 
copying the targets. In your case it is a set of strings and a graph of 
strings.

> Why no copies? Because of so defined "<"?

Because the set's element is access-to-String rather than String.

>> Alternatively you can use a set of Node with order operations defined as
>> above and allocate a copy of the tested string in the test. You then
>> free that string if it is already in the set and use one in the set
>> instead. If duplicated strings are rather exception a few allocations
>> should be no problem.
> 
> Duplicated strings is NOT an exception.

URIs do not repeat frequently. But I don't understand what are you doing 
anyway because the same URI can be resolved to different targets and 
conversely same target can have different URIs. And why they should have 
to be in a graph is a mystery to me.

> What should I do?

It is your choice. I merely pointed out that you can easily avoid having 
the same string kept twice.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2017-10-31 12:42 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-30 10:41 Simple Components (Generic_Directed_Graph) Victor Porton
2017-10-30 11:04 ` Victor Porton
2017-10-30 11:34   ` Dmitry A. Kazakov
2017-10-30 11:23 ` Dmitry A. Kazakov
2017-10-30 14:58   ` Victor Porton
2017-10-30 15:46     ` Dmitry A. Kazakov
2017-10-30 17:46       ` Dennis Lee Bieber
2017-10-30 20:29         ` Dmitry A. Kazakov
2017-10-30 15:13   ` Victor Porton
2017-10-30 15:54     ` Dmitry A. Kazakov
2017-10-30 18:30   ` Victor Porton
2017-10-30 20:43     ` Dmitry A. Kazakov
2017-10-30 21:20       ` Victor Porton
2017-10-30 22:39         ` Dmitry A. Kazakov
2017-10-31  7:36           ` Simon Wright
2017-10-31  8:16             ` Dmitry A. Kazakov
2017-10-31 11:12           ` Victor Porton
2017-10-31 12:42             ` Dmitry A. Kazakov [this message]
2017-10-31 15:07               ` Victor Porton
2017-10-31 15:48                 ` 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