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,54889de51045a215 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-10-17 08:49:10 PST Path: archiver1.google.com!news2.google.com!fu-berlin.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 15:49:09 +0000 (UTC) Organization: IKS GmbH Jena Message-ID: References: <3F7316F7.219F@mail.ru> <17cd177c.0310010606.52da88f3@posting.google.com> <3F8BC74F.2CFBFF37@0.0> <1066312000.671303@master.nyc.kbcfp.com> <1066322883.139702@master.nyc.kbcfp.com> <3F8F372D.9040801@comcast.net> <1066400123.238640@master.nyc.kbcfp.com> <1066405226.728944@master.nyc.kbcfp.com> NNTP-Posting-Host: taranis.iks-jena.de X-Trace: branwen.iks-jena.de 1066405749 17254 217.17.192.37 (17 Oct 2003 15:49:09 GMT) X-Complaints-To: usenet@iks-jena.de NNTP-Posting-Date: Fri, 17 Oct 2003 15:49:09 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux) Xref: archiver1.google.com comp.lang.ada:1087 Date: 2003-10-17T15:49:09+00:00 List-Id: * Hyman Rosen wrote: > Lutz Donnerhacke wrote: >> Please simply do this: >> procedure Mult_To_Left(target : in out Matrix; factor : in Matrix); > > Yes, that's what I said. Fine. So there is no need for augmented assignments. Right? >>>In C++, I use these operators all the time. >> >> You should stick to normal programming. It's much more funny than dealing >> with one syntatic element all the time. > > I don't understand this sentence at all. What do you mean? You should try to use other syntactic elements of C++, too. > I don't have a point, exactly. I was just pointing out that the > augmented assignment operators are used very frequently in normal > C++ code, and some of those uses involve those complicated left > side expressions. This is real production code, not a made-up > example. There are syntactic elements (like nested functions or returning unconstraint types) which are used in Ada code very frequently. Does this imply, that C++ should add this instantanously? > I think some people here believe that such an operator > is a rara avis that even if available would be rarely used. Other people think different. > > declare > > fxExp : Fx_Type renames fxMap(exposure.secCurr.id.get_key); > > begin > > fxExp := fxExp + exposure.secExp; > > end; > > And now that you mention it, there's a considerable problem with > the renames idiom; you must repeat the type of the thing you're > renaming. You know the type. So there is no problem with. >> Ah! Multiple lines: >> procedure Add (to: in out Fx_Type; term : in Fx_Type) is >> begin >> to := to + term; >> end add; >> >> [...] >> Add(to => fxMap(exposure.secCurr.id.get_key), term => exposure.secExp); >> Add(fxMap(exposure.secCurr.id.get_key), exposure.secExp); >> >> Have fun. > > I would hope that you at least use a generic instantiation instead of > littering your code all over the place with little bird droppings. It's your code. I prefer renaming.