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=-0.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no 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-01-06 05:54:49 PST Path: archiver1.google.com!news2.google.com!newsfeed2.dallas1.level3.net!news.level3.com!priapus.visi.com!orange.octanews.net!news-out.visi.com!hermes.visi.com!green.octanews.net!news.octanews.net!news-xfer.cox.net!peer01.cox.net!cox.net!cyclone1.gnilink.net!spamkiller2.gnilink.net!nwrdny03.gnilink.net.POSTED!0f19ed38!not-for-mail From: "Frank J. Lhota" Newsgroups: comp.lang.ada References: <3fe00b82.90228601@News.CIS.DFN.DE><5802069.JsgInS3tXa@linux1.krischik.com><1072464162.325936@master.nyc.kbcfp.com><1563361.SfB03k3vvC@linux1.krischik.com><11LvOkBBXw7$EAJw@phaedsys.demon.co.uk><3ff0687f.528387944@News.CIS.DFN.DE><1086072.fFeiH4ICbz@linux1.krischik.com><3ff18d4d.603356952@News.CIS.DFN.DE><1731094.1f7Irsyk1h@linux1.krischik.com><3ff1b8ef.614528516@News.CIS.DFN.DE> <3FF1E06D.A351CCB4@yahoo.com><3ff20cc8.635997032@News.CIS.DFN.DE><3ff9df16.30249104@News.CIS.DFN.DE> Subject: Re: Certified C compilers for safety-critical embedded systems 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 Message-ID: Date: Tue, 06 Jan 2004 13:54:49 GMT NNTP-Posting-Host: 141.154.249.88 X-Complaints-To: abuse@verizon.net X-Trace: nwrdny03.gnilink.net 1073397289 141.154.249.88 (Tue, 06 Jan 2004 08:54:49 EST) NNTP-Posting-Date: Tue, 06 Jan 2004 08:54:49 EST Xref: archiver1.google.com comp.lang.ada:4143 Date: 2004-01-06T13:54:49+00:00 List-Id: "Stephen Leake" wrote in message news:mailman.212.1073342204.31149.comp.lang.ada@ada-france.org... > Apparently there were some people on the design team for Ada 83 who > thought "function" meant "no side effects", and want to "enforce" > that. Of course, functions can have side effects; now they just have > to lie about it! AFAIK the following is completely valid Ada 83. Note how similar this is to the examples presented to show why allowing "in out" parameters in functions is a bad idea. type Integer_Acc is access Integer; X_Acc : Integer_Acc := new Integer'( 2 ); Y : Integer; function Incr( Acc : in Integer_Acc ) return Integer is begin Acc.all := Acc.all + 1; return Acc.all; end Incr; ... Y := Incr( X_Acc ) - X_Acc.all; -- Y is ???