comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Need advice re package organization.
Date: Thu, 31 Jul 2003 15:41:21 -0500
Date: 2003-07-31T15:41:21-05:00	[thread overview]
Message-ID: <viivkaflsaamc3@corp.supernews.com> (raw)
In-Reply-To: AVbWa.1379$qN3.184689@news20.bellglobal.com

"Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> wrote in message
news:AVbWa.1379$qN3.184689@news20.bellglobal.com...
> > But if you do not want to see private things, then the package should
> > not be a child.
>
> You are missing the point. If the package is not a child package,
> then this new package loses all access to the other private
> types declared in the private section. Sometimes you need to have
> things both ways.

That sounds like a very muddled design. Previously you said:

> Irregardless, there is _NO_ way whatsoever to identify
> Ada95 OO members/primitives as "protected" (ie. accessable
> by derived code, but not to the end clients of the object).

Which is false: The derived code goes in children (if they need the
visibility), the end clients do not. If your end clients are in children,
you've got design problems.

What you're asking for is a fine-grained visibility control that does not
exist anywhere in Ada. For instance, when you say "with", you get the whole
package; there is no option to just get part of it. When you say "use", you
get the whole package; there is no option to just get individual items.

Some have claimed this is a fault, but in any case you'd have a very
different language if you had those sorts of capabilities. One of the
advantages of the current scheme is that it works very well for
programming-in-the-large: a change to a distant unit can only change units
in which it is directly referenced.

We've found in working on "limited with" that this property is a lot harder
to maintain if you have views of the same entity with different properties
that can clash (if you have a diamond-shaped with pattern). This is a
property that we should not be willing to give up for Ada.

Anyway, I think you will have to make a complete proposal so we can tear it
to shreds. :-) Claiming that there is some lack of visibility control
without showing how that control could be defined and would be used in
practice is not very compelling.

                         Randy.










  reply	other threads:[~2003-07-31 20:41 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-26 13:08 Need advice re package organization Bobby D. Bryant
2003-07-26 14:25 ` Robert I. Eachus
2003-07-26 15:27   ` Warren W. Gay VE3WWG
2003-07-26 22:00     ` Robert I. Eachus
2003-07-27 22:01       ` chris
2003-07-28  2:53         ` Robert I. Eachus
2003-07-29  4:52           ` Richard Riehle
2003-07-27 22:02       ` Warren W. Gay VE3WWG
2003-07-28  8:38         ` Dmitry A. Kazakov
2003-07-29 17:18           ` Warren W. Gay VE3WWG
2003-07-30  8:42             ` Dmitry A. Kazakov
2003-07-30 21:00               ` Warren W. Gay VE3WWG
2003-07-30 22:46                 ` Randy Brukardt
2003-07-31 16:39                   ` Warren W. Gay VE3WWG
2003-07-31 17:31                     ` Randy Brukardt
2003-07-31 21:00                       ` Warren W. Gay VE3WWG
2003-07-31 22:13                     ` Robert I. Eachus
2003-08-01 12:51                       ` Warren W. Gay VE3WWG
2003-07-31  5:57                 ` Matthew Heaney
2003-07-31 16:57                   ` Warren W. Gay VE3WWG
2003-07-31 22:33                     ` Robert I. Eachus
2003-08-01  2:58                       ` Chad R. Meiners
2003-08-01 13:51                         ` Stephen Leake
2003-08-01 22:15                           ` Robert I. Eachus
2003-08-04 13:45                             ` Stephen Leake
2003-08-01 13:01                       ` Warren W. Gay VE3WWG
2003-07-31  9:04                 ` Dmitry A. Kazakov
2003-07-31 16:59                   ` Warren W. Gay VE3WWG
2003-07-31 20:41                     ` Randy Brukardt [this message]
2003-07-31 21:15                       ` Warren W. Gay VE3WWG
2003-08-01 20:04                         ` Randy Brukardt
2003-08-01 21:33                           ` Stephen Leake
2003-08-04 19:40                             ` Randy Brukardt
2003-08-04 19:52                               ` Stephen Leake
2003-08-05  3:36                   ` Richard Riehle
2003-08-05  4:03                     ` Hyman Rosen
2003-08-05  7:16                     ` Dmitry A. Kazakov
2003-07-26 17:03 ` Nick Roberts
replies disabled

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