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,f51e93dacd9c7fca X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-18 10:12:44 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.cidera.com!Cidera!cyclone1.gnilink.net!spamfinder.gnilink.net!nwrddc03.gnilink.net.POSTED!53ab2750!not-for-mail From: "Frank J. Lhota" Newsgroups: comp.lang.ada References: <3d0ce154_5@news.bluewin.ch> <3D0D4274.6C5E02F9@acm.org> <4519e058.0206170753.599fd771@posting.google.com> Subject: Re: status of Ada STL? X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 Message-ID: Date: Tue, 18 Jun 2002 17:12:43 GMT NNTP-Posting-Host: 141.157.176.41 X-Complaints-To: abuse@verizon.net X-Trace: nwrddc03.gnilink.net 1024420363 141.157.176.41 (Tue, 18 Jun 2002 13:12:43 EDT) NNTP-Posting-Date: Tue, 18 Jun 2002 13:12:43 EDT Xref: archiver1.google.com comp.lang.ada:26268 Date: 2002-06-18T17:12:43+00:00 List-Id: > I prefer :=, and if I could change C I would change = to := and modify > all of the shorthand operators to look like Icon (:+= and the like). Actually, the Icon augmented assignment operators look like this: "+:=". I think that the Icon augmented assignment operators would be a worthwhile addition to Ada, not so much for optimizations but for readability. A smart compiler could probably optimize Whatchama_Callit.Thingy( Here ).Do_Hickey.Count := Whatchama_Callit.Thingy( Here ).Do_Hickey.Count + 1; but then you're requiring the reader to visually confirm that the expression on the left of the assignment is the same as the expression on the left of the "+". Granted, one solution would be to do a "renames" declaration, e.g. declare DH_Count : Natural renames Whatchama_Callit.Thingy( Here ).Do_Hickey.Count; begin DH_Count := DH_Count + 1; end; That's one solution, but wouldn't it be nicer to write this: Whatchama_Callit.Thingy( Here ).Do_Hickey.Count +:= Whatchama_Callit.Thingy( Here ).Do_Hickey.Count; If we use the Icon notation, then X /= Y means not ( X = Y ) X /:= Y means X := X / Y resolving the issue regarding the current use of the "/=" symbol.