From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.0 required=3.0 tests=BAYES_20 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: "Jeffrey R. Carter" Newsgroups: comp.lang.ada Subject: Re: Visibility issue Date: Tue, 15 Sep 2020 22:03:02 +0200 Organization: Also freenews.netfront.net; news.tornevall.net; news.eternal-september.org Message-ID: References: <6096c490-7112-415e-978b-fd4c78f28501n@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Tue, 15 Sep 2020 20:03:03 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="a929f68ede371a4b09b6a889e2084773"; logging-data="12174"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18nfJpp4HdBOFN8NRWR+ZVQ88l5E5nuCwk=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cancel-Lock: sha1:rwkoGU18HNySTigdgYR8NfkYy2Q= In-Reply-To: Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:60151 List-Id: On 9/15/20 9:11 PM, Daniel wrote: > >> I'm still not clear what problem you're trying to solve. Designs are derived >> from problem statements, not from failed designs > I have the next requirements: > - I need to pack all calls from users in just one Package API Hierarchy. > - The details and complexity of the implementation need to be outside of this API hierarchy as much as possible. > -I need to use tagged types as much as possible for the calls from users to API package. (I'm not a big fan of this also but its a requirement) > -This API tagged types needs to connect the API Side with the implementation packages. > -The user needs to set a limited number of callback procedure with this flavor: "Procedure (S : in out Tagged_APi_Type)" > -The Implementation package needs to trigger the procedure defined in the API. (Here comes to problems): > -->The implementation package needs to manipulate some hide part of the Tagged_API_Type while is triggered > ------>Here comes the problem. From the implementing package is not possible to see the private part of the API package. > > The only solution I have for now is to make public some functions in the API to be used from the implementing packages and try to advise the users to don't use them. These are mostly restrictions on the implementation, not a problem statement. It seems you have requirements that it must use an impossible implementation. -- Jeff Carter "That was the most fun I've ever had without laughing." Annie Hall 43 , not a