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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,54889de51045a215 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-10-17 07:21:52 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!news-out.visi.com!petbe.visi.com!ash.uu.net!spool.news.uu.net!not-for-mail Date: Fri, 17 Oct 2003 10:21:33 -0400 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5) Gecko/20031013 Thunderbird/0.3 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: += in ada References: <3F7316F7.219F@mail.ru> <17cd177c.0310010606.52da88f3@posting.google.com> <3F8BC74F.2CFBFF37@0.0> <1066312000.671303@master.nyc.kbcfp.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Organization: KBC Financial Products Message-ID: <1066400493.692750@master.nyc.kbcfp.com> Cache-Post-Path: master.nyc.kbcfp.com!unknown@nightcrawler.nyc.kbcfp.com X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) NNTP-Posting-Host: 204.253.250.10 X-Trace: 1066400493 10625 204.253.250.10 Xref: archiver1.google.com comp.lang.ada:1077 Date: 2003-10-17T10:21:33-04:00 List-Id: Lutz Donnerhacke wrote: > Augmented assigments need a temporary as well as ordinary assigments of > simple expressions. So your claim about unnecessary temporaries is plain > wrong. If you're talking about Ada, augmented assignment operators don't exist, so they cannot need anything. It's equally accurate to say that every legal use of an augmented assignment operator in Ada requires the sacrifice of a goat. If Ada were augmented with augmented assignment operators, I imagine their specifications would not be so deliberately obtuse as to require what you are suggesting. Augmented assignment operators would get the target of the assignment as an 'in out' parameter, at least in the user-defined case. For built-in arithmetic, it hardly matters; there it's the notational convenience that's desired, not the efficiency.