comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: 'Protected' abstract subprograms
Date: Tue, 14 Jan 2014 10:05:31 +0100
Date: 2014-01-14T10:05:31+01:00	[thread overview]
Message-ID: <on1zhsdlciqw.70mg9osrtb80$.dlg@40tude.net> (raw)
In-Reply-To: lb2bsl$phh$1@loke.gir.dk

On Mon, 13 Jan 2014 21:45:24 -0600, Randy Brukardt wrote:

> Yes, but that would require some way of specifying that the private type 
> cannot be extended anywhere *other* than a child of the package containing 
> the private type.

Doesn't

   type T is private;

already do? It could be reused like

   type T is private [abstract] new ... with ...;

BTW, there already exist cases when you effectively cannot extend a type
publicly, because there would be no way to create an object of that type.

> As I said last week, Ada takes privacy very seriously,

Moderately serious I would say. In numerous cases privacy does not hold.
Worse is that frequently privacy cannot be imposed or requires serious
changes in the structure of types.

Furthermore, there is no support for non-cooperative privacy (run-time
enforced) whatsoever.

IMO, privacy should be taken much more seriously than Ada does now.

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


  reply	other threads:[~2014-01-14  9:05 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-10 22:00 'Protected' abstract subprograms sbelmont700
2014-01-10 22:30 ` Randy Brukardt
2014-01-11 16:12   ` sbelmont700
2014-01-14  3:45     ` Randy Brukardt
2014-01-14  9:05       ` Dmitry A. Kazakov [this message]
2014-01-15  0:36         ` Randy Brukardt
2014-01-15  9:17           ` Dmitry A. Kazakov
2014-01-15 14:11             ` Robert A Duff
2014-01-15 15:40               ` adambeneschan
2014-01-15 21:21                 ` Robert A Duff
2014-01-15 23:10                   ` Randy Brukardt
2014-01-16  0:51                     ` Robert A Duff
2014-01-16 10:43                       ` AdaMagica
2014-01-16 16:32                         ` adambeneschan
2014-01-17  1:49                         ` Robert A Duff
2014-01-17 23:23                           ` Randy Brukardt
2014-01-19 21:07                             ` Robert A Duff
2014-01-20  8:40                               ` Dmitry A. Kazakov
2014-01-21 14:37                                 ` Robert A Duff
2014-01-22  8:27                                   ` Dmitry A. Kazakov
2014-01-21  1:21                               ` Randy Brukardt
2014-01-21 14:35                                 ` Robert A Duff
2014-01-15 23:17               ` Randy Brukardt
2014-01-16  8:52               ` Dmitry A. Kazakov
2014-01-11  8:41 ` J-P. Rosen
2014-01-11  8:59 ` Dmitry A. Kazakov
2014-01-11 13:42   ` Niklas Holsti
2014-01-11 19:35     ` Dmitry A. Kazakov
2014-01-12  9:19       ` Niklas Holsti
2014-01-12 10:22         ` 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