comp.lang.ada
 help / color / mirror / Atom feed
From: Adam Beneschan <adambeneschan@aol.com>
Subject: Re: GNAT GPL 2013 bug?
Date: Fri, 9 Aug 2013 13:30:40 -0700 (PDT)
Date: 2013-08-09T13:30:40-07:00	[thread overview]
Message-ID: <6ee1653b-7232-4a32-940d-25bb556a19d4@googlegroups.com> (raw)
In-Reply-To: <wccvc3ek4t9.fsf@shell01.TheWorld.com>

On Friday, August 9, 2013 1:05:54 PM UTC-7, Robert A Duff wrote:
> Adam Beneschan writes:
> 
> > It was probably OK, though, if the only effect was that a call to P
> > might actually call some other P in some other package.
> 
> For clients outside the package?  I don't think that would be OK.
> But I don't see how it can happen, since you can't do 'Class on
> the private view.

Yes, that's a good point.

It doesn't seem particularly useful to declare an untagged private type whose full type is something that only the package, or a child package, could derive types from.  Unfortunately, Ada doesn't have the concept of a "tagged type from which nothing can be derived".  That concept would be useful so that one could declare a type derived from Ada.Finalization.Controlled or some other tagged type, but declare that no other types may be derived from it, so that *new* operations declared for the type wouldn't have to be dispatching.  Then the language could decree that an untagged private type couldn't be completed by a tagged type unless it were underivable, and then the dispatching issue wouldn't arise at all.  (And one could declare operations of more than one such type, since they wouldn't be dispatching operations; this is what led to the original AI95-183 issue.)  I wish I or someone else had thought of that back in 1997.

                               -- Adam

  reply	other threads:[~2013-08-09 20:30 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-09  9:47 GNAT GPL 2013 bug? Dmitry A. Kazakov
2013-08-09 10:38 ` sbelmont700
2013-08-09 11:01   ` Dmitry A. Kazakov
2013-08-09 11:06     ` sbelmont700
2013-08-09 11:36       ` Dmitry A. Kazakov
2013-08-09 15:48     ` Adam Beneschan
2013-08-09 16:11       ` Simon Wright
2013-08-09 16:52         ` Adam Beneschan
2013-08-09 18:25           ` Simon Wright
2013-08-09 18:39             ` Adam Beneschan
2013-08-09 19:28               ` Adam Beneschan
2013-08-09 20:05                 ` Robert A Duff
2013-08-09 20:30                   ` Adam Beneschan [this message]
2013-08-09 21:35                     ` Simon Wright
2013-08-10 15:10                     ` Shark8
2013-08-09 16:03     ` Simon Wright
2013-08-09 18:55     ` Randy Brukardt
2013-08-09 19:27       ` Dmitry A. Kazakov
2013-08-09 20:04         ` Robert A Duff
2013-08-10  6:51           ` Dmitry A. Kazakov
2013-08-12 16:52             ` Adam Beneschan
2013-08-12 17:03               ` Dmitry A. Kazakov
2013-08-12 17:20                 ` Adam Beneschan
2013-08-12 18:34                   ` Dmitry A. Kazakov
2013-08-12 20:12             ` Randy Brukardt
2013-08-13  6:43               ` 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