From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,dbf84a1c2794f4fb X-Google-Attributes: gid103376,public From: "Norman H. Cohen" Subject: Re: packages and private parts Date: 1997/02/07 Message-ID: <32FB51D8.1C90@watson.ibm.com>#1/1 X-Deja-AN: 215095918 references: <32F170C8.6A88F208@cam.org> <32FA4C67.48D9@watson.ibm.com> content-type: text/plain; charset=us-ascii organization: IBM Thomas J. Watson Research Center mime-version: 1.0 reply-to: ncohen@watson.ibm.com newsgroups: comp.lang.ada x-mailer: Mozilla 3.0 (Win95; I) Date: 1997-02-07T00:00:00+00:00 List-Id: Robert Dewar wrote: > Well it is no surprise that Norman disagrees, he argued strongly during > the design, but unpersuasively (i.e. not enough people were persauaded), > that parent units should be allowed to have declarations limiting what > children they permit. Actually, what I argued during the design was not that parent units should be able to declare themselves childless, but that parent units should be able to stipulate that certain declarations are hidden even from children. (We had already bought the new reserved word "protected" for use in protected objects, and we could easily have amortized its cost by allowing a package to have both a protected part visible to children and a private part hidden from children.) Robert is right that I was unable to persuade enough people (i.e., a set of people that included Tucker Taft :-) ) of this position, although concern about this issue was widespread. My ally in this argument, David Pogge, was unable to carry the day even with his colorful warnings about the "Howard Hughes effect"--total strangers declaring themselves to be your children. Indeed, Tucker eventually won me over me with his argument that adding a child to a package should be viewed as the moral equivalent of modifying the text of the package. Long after consensus had been achieved that child packages, with their associated visibility rules, would be a part of Ada 95, I realized that a far more serious concern than the Howard Hughes effect was the way in which child visibility into private declarations of the parent muddied the contractual interface of a library package, restricting the freedom of the package's author to change the implementation of a private type in a later version of a fielded package. (I discussed this concern in more detail in another post yesterday.) I wish this argument had occurred to me earlier. -- Norman H. Cohen mailto:ncohen@watson.ibm.com http://www.research.ibm.com/people/n/ncohen