comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada design bug or GNAT bug?
Date: Mon, 22 Jun 2015 12:39:16 -0500
Date: 2015-06-22T12:39:16-05:00	[thread overview]
Message-ID: <mm9h84$5n8$1@loke.gir.dk> (raw)
In-Reply-To: 4lrj5zz2u2z.u8x9cf7xzic6.dlg@40tude.net

"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message 
news:4lrj5zz2u2z.u8x9cf7xzic6.dlg@40tude.net...
> On Sat, 20 Jun 2015 21:42:44 -0500, Randy Brukardt wrote:
...
>>> p2.ads:5:09: type must be declared abstract or "Foo" overridden
>>> p2.ads:5:09: "Foo" has been inherited from subprogram at p1.ads:4
>>> p2.ads:6:24: private function with tagged result must override
>>> visible-part function
>>> p2.ads:6:24: move subprogram to the visible part (RM 3.9.3(10))
>>>
>>> [ Since when access types became tagged? ]
>>
>> They're not "tagged", but they dispatch as if they were tagged (if
>> anonymous). So they have to follow the same rules as with a tagged type.
>
> Then it should be said this way. I believe RM uses the word "controlling"
> for this on other occasions.

The RM uses it in *this* occassion, too. Don't blame Ada for some 
implementation's confusing error messages!

...
>> If there's a design bug,
>> it's the existence of anonymous access types at all with these unusual
>> special properties.
>
> Maybe, but once introduced they should not break more important language
> features, like information hiding.

What part of "anonymous access types are evil" did you fail to understand?? 
:-) The mistake I regret more than any other was allowing their use to be 
expanded, for a purpose that doesn't really work, with semantics that are 
far more complex than anyone really wanted.

We don't have a choice about allowing hidden controlling results and 
controlling access results (unless, of course, we want to abandon real 
privacy, which we're not going to do). The only way to avoid that problem is 
to not have the feature at all (which is where I would stand). But as they 
exist, they have to work this way. Sorry.

                                   Randy.


  reply	other threads:[~2015-06-22 17:39 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-20 18:55 Ada design bug or GNAT bug? Dmitry A. Kazakov
2015-06-21  2:42 ` Randy Brukardt
2015-06-21  6:47   ` Dmitry A. Kazakov
2015-06-22 17:39     ` Randy Brukardt [this message]
2015-06-22 18:16       ` Dmitry A. Kazakov
2015-06-23 11:00         ` G.B.
2015-06-23 14:27           ` Dmitry A. Kazakov
2015-06-23 11:45         ` G.B.
2015-06-23 14:30           ` Dmitry A. Kazakov
2015-07-02 22:22         ` Randy Brukardt
2015-07-03  8:02           ` Dmitry A. Kazakov
2015-07-03 17:33             ` Randy Brukardt
2015-07-03 21:34               ` Dmitry A. Kazakov
2015-07-04  3:11                 ` Randy Brukardt
2015-07-04 12:14                   ` Dmitry A. Kazakov
2015-07-05  0:53                     ` Randy Brukardt
2015-06-22 18:27       ` Shark8
2015-06-23 11:51         ` vincent.diemunsch
2015-06-23 19:55           ` Shark8
2015-06-23 13:06         ` vincent.diemunsch
2015-06-23 14:30           ` David Botton
2015-06-23 15:57             ` Niklas Holsti
2015-06-23 16:01               ` G.B.
2015-06-23 18:05               ` David Botton
2015-06-23 19:38               ` David Botton
2015-06-23 14:38           ` Dmitry A. Kazakov
2015-06-23 16:57             ` Vincent
2015-06-23 17:15               ` Dmitry A. Kazakov
2015-06-23 19:14                 ` vincent.diemunsch
2015-06-23 19:33                   ` Dmitry A. Kazakov
2015-06-23 17:42           ` Jeffrey R. Carter
2015-07-02 22:06           ` Randy Brukardt
2015-07-04  1:52             ` Shark8
2015-07-04  3:24               ` Randy Brukardt
2015-07-04 11:02                 ` Build-in-place semantics? (Was: Ada design bug or GNAT bug?) Jacob Sparre Andersen
2015-07-04 12:15                   ` Dmitry A. Kazakov
2015-07-05  0:45                     ` Randy Brukardt
2015-07-05  7:10                       ` Dmitry A. Kazakov
2015-07-05  0:40                   ` Randy Brukardt
2015-07-04 14:05                 ` Ada design bug or GNAT bug? Bob Duff
2015-07-04  7:46               ` Simon Wright
2015-07-04 12:00                 ` Björn Lundin
2015-07-05  0:48                   ` Randy Brukardt
2015-07-06 12:37             ` Vincent
2015-07-06 20:05               ` Randy Brukardt
2015-07-07  8:06               ` 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