comp.lang.ada
 help / color / mirror / Atom feed
From: "Norman H. Cohen" <ncohen@watson.ibm.com>
Subject: Re: packages and private parts
Date: 1997/02/14
Date: 1997-02-14T00:00:00+00:00	[thread overview]
Message-ID: <3304E6C8.11E6@watson.ibm.com> (raw)
In-Reply-To: dewar.855349349@merv


Speaking of concerns that child visibility into private parts of parent
packages could be harmful, Robert Dewar wrote:

> My memory was that VERY few people were convinced, I certainly
> was not, I thought the suggestion of absolute privacy was a serious mistake,
> and i still do, and that is the same view that a majority of people had!

For the record, my memory is quite different.  I recall that, at least
early in the Mapping Phase of the Ada 9X project, many of the
reviewers--including Robert--were seriously concerned about this issue. 
Tucker had to fight hard to defend the rule, but did so skillfully and
eventually won most of us over, including me.  It is not unheard of for
Robert to forcefully argue different sides of an issue on different
occasions, but I suspect that Robert is remembering of a later stage of
the Ada 9X project than I am.

> Certainly it would be perectly fine to add a pragma restricting visibility
> in the manner Norman suggests, but this issue has never come up among the
> thousands of people actually using Ada 95, so it seems to me this is a
> case where the majority and Tuck and the RM all agree, and it's a good
> thing that they do!

Let me clarify that "in the manner Norman suggests" is meant to modify
"restricting visibility", not "pragma".  I do not agree that it would be
"perfectly fine" for an implementation to add a restriction making a
unit that is legal according to the standard illegal for a particular
implementation, except in the absence of an implementation-defined
pragma.  

On the other hand, there is nothing wrong with an implemenation-defined
pragma

   pragma Subject_To_Change ( entity-name );

to flag entities declared in the private part of a package, so that a
compiler would generate a WARNING if the named entity were later
referrerd to in the private part of a child.  When Robert says that
"this issue has never come up among the thousands of people actually
using Ada 95", he really means that ACT has not received a request for
such a pragma.  Not much can be inferred from that fact, except perhaps
that the usefulness of such a pragma has not been widely discussed until
now.

-- 
Norman H. Cohen
mailto:ncohen@watson.ibm.com
http://www.research.ibm.com/people/n/ncohen




  reply	other threads:[~1997-02-14  0:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <32F170C8.6A88F208@cam.org>
     [not found] ` <dewar.854838063@merv>
     [not found]   ` <32FA4C67.48D9@watson.ibm.com>
     [not found]     ` <dewar.855276290@merv>
1997-02-07  0:00       ` packages and private parts Norman H. Cohen
1997-02-07  0:00         ` Robert Dewar
1997-02-14  0:00           ` Norman H. Cohen [this message]
1997-02-15  0:00             ` Robert Dewar
     [not found]     ` <32FB27FF.794BDF32@innocon.com>
1997-02-07  0:00       ` Tucker Taft
1997-02-08  0:00         ` Ken Garlington
     [not found]       ` <dewar.855326480@merv>
1997-02-10  0:00         ` Jeff Carter
1997-02-10  0:00           ` Robert Dewar
1997-02-10  0:00           ` Larry Kilgallen
1997-02-10  0:00   ` Jon S Anthony
     [not found] <32F1A8AD.6D6C@ehs.ericsson.se>
     [not found] ` <E4wBxD.Jtp.0.-s@inmet.camb.inmet.com>
     [not found]   ` <32FA579B.2496@watson.ibm.com>
     [not found]     ` <E58onv.4zC@world.std.com>
1997-02-07  0:00       ` Mats Weber
1997-02-07  0:00       ` Mats Weber
1997-02-14  0:00       ` Norman H. Cohen
1997-02-16  0:00         ` Tucker Taft
1997-02-17  0:00           ` Norman H. Cohen
replies disabled

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