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.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,38fc011071df5a27 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-05-30 10:12:29 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-06!sn-xit-08!supernews.com!border3.nntp.aus1.giganews.com!nntp.giganews.com!nntp3.aus1.giganews.com!nntp.gbronline.com!news.gbronline.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 30 May 2003 12:12:09 -0500 Date: Fri, 30 May 2003 12:12:44 -0500 From: Wesley Groleau Reply-To: wesgroleau@despammed.com Organization: Ain't no organization here! User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.3.1) Gecko/20030425 X-Accept-Language: en-us, en, es-mx, pt-br, fr-ca MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Ideas for Ada 200X References: <6a90b886.0305262344.1d558079@posting.google.com> <3ED41344.7090105@spam.com> <3ED46D81.FF62C34F@0.0> <3ED46E07.4340CABC@0.0> <3ED4F3FD.A0EF7079@alfred-hilscher.de> <1138545.LxB10ZPFul@linux1.krischik.com> <12407013.TRm0SXE9Zq@linux1.krischik.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: NNTP-Posting-Host: 216.117.18.106 X-Trace: sv3-LFeS2Vk2hIHgTgSkNfPmp8xSERvbAdC+dZ3rrYd68HMgP0pnFDY/2Pp4JXaX9OWJjfJP8af8MKoTRJl!5qZo2wisCF7KFfiIKe+2j3V2jmHIf7ENPopsSj2h6THFpUvX849WDw5Q717UH613e5XT1hYwNUUH!6JfGlw== X-Complaints-To: abuse@gbronline.com X-DMCA-Complaints-To: abuse@gbronline.com X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Xref: archiver1.google.com comp.lang.ada:38120 Date: 2003-05-30T12:12:44-05:00 List-Id: > On the other hand, very often in C++ to implement all that ++, +=, *= etc + > by value vs. by reference variations becomes a heavy burden when an > abstract type is defined. It is also difficult to ensure that the semantics > of all operations is compatible. Without actually endorsing the proposal, I think it would be quite simple to do. ++ The effect of X'Inc is indistinguishable from the result of X := X + 1; return X; including that if the above won't compile, then X'Inc won't compile. SAME paragraph, with the following substitutions: X'Inc => X += Y (same as) X := X + Y; X'Inc => X /= Y (same as) X := X / Y; etc. No burden at all--if a compiler knows how to compile a construct, then it knows how to compile the shorthand for the construct. Now, whether the shorthand should exist is another story.....