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=BAYES_00,THIS_AD autolearn=no 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 02:10:30 PST Path: archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.stueberl.de!news-FFM2.ecrc.net!news.iks-jena.de!not-for-mail From: Lutz Donnerhacke Newsgroups: comp.lang.ada Subject: Re: += in ada Date: Fri, 17 Oct 2003 09:10:30 +0000 (UTC) Organization: IKS GmbH Jena Message-ID: References: <3F7316F7.219F@mail.ru> <49cbf610.0310101231.2358762a@posting.google.com> <49cbf610.0310150616.3503a1c4@posting.google.com> NNTP-Posting-Host: taranis.iks-jena.de X-Trace: branwen.iks-jena.de 1066381830 10806 217.17.192.37 (17 Oct 2003 09:10:30 GMT) X-Complaints-To: usenet@iks-jena.de NNTP-Posting-Date: Fri, 17 Oct 2003 09:10:30 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux) Xref: archiver1.google.com comp.lang.ada:1062 Date: 2003-10-17T09:10:30+00:00 List-Id: * Russ wrote: >> Wrong! In the case of an exception, the original values need to be >> retained in order to keep in touch with the current Ada feelings. So >> any 'idem' notation or 'augmented assignment' requires a temporary copy >> as strong than the original form. > > We've been over this ad nauseum already. One of the Ada experts > clarified it for us, and if I recall correctly, I think you are > mistaken. Actually, I think you are "Wrong!". Please read my wording instead of interpreting them. "In order to keep in touch with the current Ada feelings." OTOH the break of such feelings are generated by complex data types, not by ordinary once. This becomes much more important on Volatile and Atomic variables. > Also, the ":+" form is *not* an assignment statement. It is equivalent > to a procedure call. If the procedure call needs a temp, then Ada is > inherently less efficient than C++ in that regard. The required temporary exists for a purpose: Exception handling. All language semantices have such purposes. Please stop argumenting, that all language designers unlike Bjarne are braindead. OTOH: What does a:*a when a is of type matric (vector was your example)? Here a temporary is required by the mathematical procedure itself. So what about your claim?