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,38fc011071df5a27 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-05-31 06:43:18 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!c03.atl99!rip!news.webusenet.com!peer01.cox.net!cox.net!news-hub.cableinet.net!blueyonder!internal-news-hub.cableinet.net!news-binary.blueyonder.co.uk.POSTED!53ab2750!not-for-mail User-Agent: Microsoft-Entourage/10.1.1.2418 Subject: Re: Ideas for Ada 200X From: Bill Findlay Newsgroups: comp.lang.ada Message-ID: References: <6a90b886.0305262344.1d558079@posting.google.com> <3ED41344.7090105@spam.com> <3ED46D81.FF62C34F@0.0> <3ED46E07.4340CABC@0.0> <3ED4F3FD.A0EF7079@alfred-hilscher.de> Mime-version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Date: Sat, 31 May 2003 14:42:13 +0100 NNTP-Posting-Host: 80.195.75.181 X-Complaints-To: abuse@blueyonder.co.uk X-Trace: news-binary.blueyonder.co.uk 1054388597 80.195.75.181 (Sat, 31 May 2003 13:43:17 GMT) NNTP-Posting-Date: Sat, 31 May 2003 13:43:17 GMT Organization: blueyonder (post doesn't reflect views of blueyonder) Xref: archiver1.google.com comp.lang.ada:38214 Date: 2003-05-31T14:42:13+01:00 List-Id: On 31/5/03 12:42, in article uisrrnxzk.fsf@wanadoo.fr, "Pascal Obry" wrote: > > Right! I must be a bit tired to forget that :) So I think it could be > /:= *:= +:= and -:= (operators before the :=). What about and, or, xor, rem and mod? "mod:=" ? I hope not! I find this proliferation of special notations revolting. An "idem" feature, meaning, "the same as the destination" and used thus: 1. I := (idem + 1); -- or perhaps: (<> + 1); or maybe: (all + 1); 2. I := (1 - idem); -- N.B. not possible using any ?:= operator 3. X := 0.5*(idem + a/idem); gives a lot more expressive power than update-in-place operations, but allows the latter to be implemented very easily in most cases that significant efficiency gains are possible (though not, admittedly, arithmetic operations overloaded on matrices and other structures for which conventional, if slightly heavier, procedural notations remain). The idem notation also documents the programmer's intention more clearly in the cases (such as 3) in which the RHS subexpression is necessarily the same as the LHS, but which do not fit the limitations of a ?:= operation. -- Bill-Findlay chez blue-yonder.co.uk ("-" => "")