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.9 required=5.0 tests=BAYES_00,FROM_NUMERIC_TLD 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-02-04 02:28:29 PST Message-ID: <4020C947.81A6D703@0.0> Date: Wed, 04 Feb 2004 10:28:23 +0000 From: Stuart Palin X-Mailer: Mozilla 4.5 [en] (WinNT; I) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: In-Out Parameters for functions 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> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Original-NNTP-Posting-Host: rc2966.rochstr.gmav.gecm.com X-Original-Trace: 4 Feb 2004 10:23:58 GMT, rc2966.rochstr.gmav.gecm.com NNTP-Posting-Date: 04 Feb 2004 10:28:28 GMT NNTP-Posting-Host: 20.138.254.2 X-Trace: 1075890508 news.gradwell.net 4103 dnews/20.138.254.2 X-Complaints-To: news-abuse@gradwell.net Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!news.tele.dk!news.tele.dk!small.news.tele.dk!news2.telebyte.nl!news.amigo.co.uk!amigo!news-peer-lilac.gradwell.net!not-for-mail Xref: archiver1.google.com comp.lang.ada:5217 Date: 2004-02-04T10:28:28+00:00 List-Id: Hyman Rosen wrote: > There are plenty of times where I am convinced that a position I hold > has compelling counter-arguments. This is not one of them. I have yet > to hear why a deliberate ambiguity is better than a definite order. I am no expert in these matters, but I thought that at some time in the [distant] past the argument was made that the ambiguity allows optimization: in particular optimization in systems employing highly parallel computing architectures. In such systems, different parts of an expression could be 'farmed out' and computed in parallel because there was no assumption of any sequential order. This argument should also have merit in cases where processors have multiple execution units and support for out-of-order execution. Just how far must a compiler go in preserving the sequential order written in the source code? I would agree with you that in most run-of-the-mill software cases the lack of definite execution order does create a pitfall for the unwary. But, it also creates an opportunity for 'smart compilers' to optimize. In the end, surely, the language must strike a balance in judging the true intent of an author (when they are writing vanilla programs). Is the serialization of an expression a specific requirement or an unwanted by-product of the format of the source code! On balance [however much I might find it a pain in my line of programming], I think that the language has chosen the most pragmatic approach. Those of us who are really concerned about the matter will add it to our list of concerns [and then probably turn to SPARK to save us from ourselves :-) ] -- Stuart Palin