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: backlog2.nntp.dca.giganews.com!border4.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!news.teledata-fn.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Thu, 13 Feb 2014 14:58:33 +0100 From: "G.B." User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Procedure defined in package body accessed by separate procedure References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <52fccf7b$0$6667$9b4e6d93@newsspool2.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 13 Feb 2014 14:58:19 CET NNTP-Posting-Host: fdc78f99.newsspool2.arcor-online.net X-Trace: DXC=1^BZ`1IZlOe:i=48; n?Z:`A9EHlD; 3Ycb4Fo<]lROoRa8kFjLh>_cHTX3jmCdUAb^VXFNi X-Complaints-To: usenet-abuse@arcor.de Xref: number.nntp.dca.giganews.com comp.lang.ada:184821 Date: 2014-02-13T14:58:19+01:00 List-Id: On 13.02.14 13:15, ashwath30jul77@gmail.com wrote: > package body Greetings is > > procedure Hello is separate; > procedure Goodbye is separate; > procedure proc_body is > begin > put_line("body"); > end; > end Greetings; > > Greetings-Hello.ada: > ================================ > with text_io; > use Text_IO; > separate (Greetings) > > procedure Hello is > begin > put_line("Hello"); > Greetings.proc_body;--Compiler error here. Says proc_body is not declared in Greetings > end; Linearity of reading seems at work here: proc_body, in body Greetings, appears after the line that says "Hello is separate". Therefore, when that line is "evaluated", there is no procedure proc_body (yet). To resolve the issue, either put a specification of procedure proc_body before "... Hello is separate", or put the latter line after proc_body's definition.