comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Class-wide types algebra
Date: Wed, 5 Oct 2016 15:42:30 -0500
Date: 2016-10-05T15:42:30-05:00	[thread overview]
Message-ID: <nt3ois$pht$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: nsnsho$6om$1@gioia.aioe.org

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:nsnsho$6om$1@gioia.aioe.org...
> On 2016-10-01 07:47, Randy Brukardt wrote:
...
>> We're talking about the type that both publically and privately 
>> implements
>> the same interface.
>
> In the example provided it is P1.Child_1.T2.
>
>> (The private one inherited from the parent, the public
>> one directly added.) And we're talking about a conversion that occurs 
>> where
>> the private interface is visible (so *both* copies of the interface are
>> visible).
>
> What converted to the type? But it is irrelevant anyway. The interface 
> instances were already visible in the private part of the package where 
> the offending type was declared. The conflict was *already* resolved 
> there, or the type declaration rejected.

I need to write out the entire example to get a sensible answer from you. I 
unfortunately don't have time, as I have to get the agenda ready for the ARG 
meeting that starts on Saturday (and of course I'll be traveling all day 
Friday). So I'm going to have to drop this discussion. (So I didn't read 
your reply, sorry.)

The problem eventually becomes a run-time problem, since type conversions 
are primarily runtime artifacts. That's very ugly.

And you can't reject the declaration that has two distinct copies of the 
same interface, because that would clearly violate privacy. So you get into 
a situation where you have to chose between two copies of an interface, with 
identical names, at runtime, presumably based on visibility. That's not 
going to work.

                                           Randy.

P.S. Dmitry, Don't bother answering, I'm not going to read it or answer. 
Just can't afford the time. Sorry.


      reply	other threads:[~2016-10-05 20:42 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-12 20:26 Class-wide types algebra Dmitry A. Kazakov
2016-09-12 21:12 ` rieachus
2016-09-12 21:39   ` Dmitry A. Kazakov
2016-09-13 11:46     ` rieachus
2016-09-13 12:26       ` Dmitry A. Kazakov
2016-09-28  0:05         ` Randy Brukardt
2016-09-28  7:31           ` Dmitry A. Kazakov
2016-09-28 20:17             ` Randy Brukardt
2016-09-29  8:06               ` Dmitry A. Kazakov
2016-09-29 18:44                 ` Randy Brukardt
2016-09-29 19:55                   ` Dmitry A. Kazakov
2016-10-01  5:47                     ` Randy Brukardt
2016-10-01  8:35                       ` Dmitry A. Kazakov
2016-10-05 20:42                         ` Randy Brukardt [this message]
replies disabled

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