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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,691503f3d2c9213d X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.icl.net!newsfeed.fjserv.net!oleane.net!oleane!proxad.net!feeder1-1.proxad.net!cleanfeed1-a.proxad.net!nnrp15-2.free.fr!not-for-mail From: Samuel Tardieu Newsgroups: comp.lang.ada Subject: Re: Question about circular elaboration order error (GNAT). References: <48024d11$0$19786$4d3efbfe@news.sover.net> <87skxppmlk.fsf@willow.rfc1149.net> Date: Sun, 13 Apr 2008 23:20:42 +0200 Message-ID: <87od8dpi39.fsf@willow.rfc1149.net> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) Cancel-Lock: sha1:SKjz44LIatkGo3yShpFZ20xhzlI= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Leafnode-NNTP-Posting-Host: 2a01:5d8:5138:2f95::3 Organization: Guest of ProXad - France NNTP-Posting-Date: 13 Apr 2008 23:25:02 MEST NNTP-Posting-Host: 88.191.14.223 X-Trace: 1208121902 news-1.free.fr 12085 88.191.14.223:48713 X-Complaints-To: abuse@proxad.net Xref: g2news1.google.com comp.lang.ada:20922 Date: 2008-04-13T23:25:02+02:00 List-Id: >>>>> "Robert" == Robert A Duff writes: Robert> Samuel Tardieu writes: >> No. pragma Elaborate_All is transitive, and forces the elaboration >> of Parent body (since Parent.Child has an implicit dependency on >> Parent) Robert> Yes, it has a dependence. But why do you call it "implicit"? Because it is not spelt explicitely using a with clause or an Elaborate/Elaborate_All pragma. And if it's not explicit, it must be implicit. One could say that when you write "package Parent.Child", you explicitely spell "Parent" so this is an explicit dependency declaration. However, for me it is a declaration of the "Parent.Child" package, which implicitely creates a semantic dependency on Parent. Now, I think we are both nitpicking here, as I don't think the RM says anything about "explicit" vs. "implicit" dependencies, it only consider "static dependences" and "elaboration dependences". Btw, I never noticed the use of "dependence" vs. "dependency" before. Is there a difference in English? Sam -- Samuel Tardieu -- sam@rfc1149.net -- http://www.rfc1149.net/