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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a00006d3c4735d70 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-02-24 02:03:19 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!nnx.oleane.net!oleane!nnrp.oleane.net!skymaster!nobody From: "Jean-Pierre Rosen" Newsgroups: comp.lang.ada Subject: Re: In-Out Parameters for functions Date: Tue, 24 Feb 2004 10:31:34 +0100 Organization: Adalog Message-ID: References: <1075390647.405841@master.nyc.kbcfp.com> <1075405582.982776@master.nyc.kbcfp.com> <1075482385.142744@master.nyc.kbcfp.com> <1075732402.294581@master.nyc.kbcfp.com> <1075741279.952497@master.nyc.kbcfp.com> <16nu1099ekujjbpe9dqvs3noi9sdcfja6e@4ax.com> <1075817212.745748@master.nyc.kbcfp.com> <1075824683.769215@master.nyc.kbcfp.com> <1075851506.238480@master.nyc.kbcfp.com> <4020C947.81A6D703@0.0> <1075907239.138068@master.nyc.kbcfp.com> <402232E9.3EE15B4B@0.0> <1075987360.225622@master.nyc.kbcfp.com> <40236C0B.E988E003@0.0> NNTP-Posting-Host: mailhost.axlog.fr X-Trace: s1.read.news.oleane.net 1077616999 22274 195.25.228.57 (24 Feb 2004 10:03:19 GMT) X-Complaints-To: abuse@oleane.net NNTP-Posting-Date: Tue, 24 Feb 2004 10:03:19 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Xref: archiver1.google.com comp.lang.ada:5760 Date: 2004-02-24T10:31:34+01:00 List-Id: From: "Jacob Sparre Andersen" > Hyman Rosen wrote: > > > Where does Ada permit the concurrent execution of multiple function > > calls of an expression? > > Nowhere (I can remember) - except that "arbitrary order" in my eyes > includes "at the same time". Definitely not. 1.1.4 (18): Whenever the run-time semantics defines certain actions to happen in an arbitrary order, this means that the implementation shall arrange for these actions to occur in a way that is equivalent to some sequential order, following the rules that result from that sequential order. Otherwise it would mean that all functions should protect themselves against concurrent evaluation, even if there are not tasks in the program! Of course, if a compiler determines that a function has no side effect, it can do concurrent evaluation under the "as if" rule. Note that the rule really says that "it shall be equivalent to some sequential order", not that it is evaluated sequentially. --------------------------------------------------------- J-P. Rosen (rosen@adalog.fr) Visit Adalog's web site at http://www.adalog.fr