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 X-Received: by 2002:a24:9195:: with SMTP id i143-v6mr1884918ite.52.1532124186807; Fri, 20 Jul 2018 15:03:06 -0700 (PDT) X-Received: by 2002:aca:75c9:: with SMTP id q192-v6mr40081oic.3.1532124186685; Fri, 20 Jul 2018 15:03:06 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.linkpendium.com!news.linkpendium.com!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!g2-v6no2083550itf.0!news-out.google.com!l67-v6ni3441itl.0!nntp.google.com!g2-v6no2083548itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Fri, 20 Jul 2018 15:03:06 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.195.62; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.195.62 References: <40d568da-4715-42de-8e28-98da39a5c974@googlegroups.com> <34f499f7-020f-4dcc-adad-0ab1113386d1@googlegroups.com> <9d69e7b5-6b2d-4607-9f7b-affa78c41620@googlegroups.com> <41c711cb-0300-4a41-93d3-e69297ae1945@googlegroups.com> <42de4aa3-9e7c-44b8-aa84-712cc7ce03c6@googlegroups.com> <9b6b6f10-5956-4a19-83f5-c1c015c62602@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Visibility of Indexing aspects From: "Dan'l Miller" Injection-Date: Fri, 20 Jul 2018 22:03:06 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:53922 Date: 2018-07-20T15:03:06-07:00 List-Id: On Friday, July 20, 2018 at 11:11:13 AM UTC-5, AdaMagica wrote: > Am Freitag, 20. Juli 2018 14:08:11 UTC+2 schrieb Jere: > > I was under the impression that scope and visibility were two different > > things. If I understand you correctly, it sounds like you are saying > > that > >=20 > > package Things is > > --One scope > > private > > --another scope > > end Things; > >=20 > > I was under the impression that it was more like: > >=20 > > package Things is > > --One scope > > private > > --same scope but different visibility > > end Things; >=20 > The scope of every declaration start with the place of the declaration, s= o in a package or any declarative region, there are many scopes, some of wh= ich are visible, others not. >=20 > > Also how does this reconcile with: > >=20 > > 8.3 (23.1/3): > > An attribute_definition_clause or an aspect_specification is > > visible everywhere within its scope. > >=20 > > That section makes it sound like aspects created in the private > > section are indeed visible in the public section. >=20 > Why do you think so? =20 >=20 > > Couple that with the section you mentioned: > >=20 > > 8.2(10.1/3) The scope of an aspect_specification is identical to=20 > > the scope of the associated declaration. >=20 > "associated" means the declaration (syntax) in which it appears. This is = here in the private part in the full declaration, so it's *not* visible in = the public part. >=20 > BTW: You should definitely report this severe bug to AdaCore. ARG members, this is why formalizing all the definitions is so important. = (In full support of Jere's point), one would expect =E2=80=9Cassociated=E2= =80=9D to be transitive. One would expect the lack of transitivity only wi= th an overtly-defined new narrower term, such as =E2=80=98directly associat= ed=E2=80=99, in that: immediate scope is directly associated with the decl= arative statement within the private section of the package (and then the v= isibility would be tied to this immediate scope and thus to this =E2=80=A2d= irect=E2=80=A2 association. If Jere's interpretation is to be prohibited, = then it must be prohibited via tightening the sloppy definitions, most espe= cially the lack of definitions. And if any reader thinks that this line of reasoning is incorrect, I offer = the rather strong counter-example of AdaCore's current implementation of GN= AT as likewise apparently interpreting the _LRM_ according to Jere's interp= retation of =E2=80=9Cassociated=E2=80=9D, not according to AdaMagica's inte= rpretation of public declarations in partial view =E2=80=A2=E2=80=A2not bei= ng associated=E2=80=A2=E2=80=A2 with private declarations in the full view.