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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: =?UTF-8?Q?Re:_How_to_get_Ada_to_=e2=80=9ccross_the_chasm=e2=80=9d?= =?UTF-8?Q?=3f?= Date: Sun, 15 Jul 2018 17:16:05 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <878t9nemrl.fsf@nightsong.com> <62df3c25-057c-4cc5-a899-b91413613b83@googlegroups.com> <7306c5a4-7810-4e5d-9896-124b9841832b@googlegroups.com> <7147d726-65bf-4bda-8a6b-bc858a65a42a@googlegroups.com> NNTP-Posting-Host: 3CrKQyqWAJZHy6zYVP/kUg.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.3 Xref: reader02.eternal-september.org comp.lang.ada:53826 Date: 2018-07-15T17:16:05+02:00 List-Id: On 2018-07-15 16:32, AdaMagica wrote: > Am Samstag, 14. Juli 2018 16:28:16 UTC+2 schrieb Shark8: >> * Protected objects (What's in the private section ought to be the body, IMO.) >> protected type Signal_Object is >> entry Wait; >> procedure Signal; >> function Is_Open return Boolean; >> private >> Open : Boolean := False; -- WHY ARE WE EXPOSING THIS? >> end Signal_Object; > > Where is the problem? I don't see one. It's not more exposed than > > package P is > type X is private; > private > type X is record > I: Integer; > end record; > end P; Yes, but it does not feel right. It is OK when protected type is a compilation unit. It is not OK when it is nested. BTW, it is not OK for nested packages either: package A is package P is type X is private; private type X is record I: Integer; end record; end P; end A; I would prefer something like: package A is package P is type X is private; end P; private package private P is type X is record I: Integer; end record; end P; end A; -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de