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 14:49:05 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news.airnews.net!cabal12.airnews.net!usenet From: "John R. Strohm" Newsgroups: comp.lang.ada Subject: Re: Ideas for Ada 200X Date: Sat, 31 May 2003 16:38:19 -0500 Organization: Airnews.net! at Internet America Message-ID: References: <6a90b886.0305262344.1d558079@posting.google.com> <3ED46D81.FF62C34F@0.0> <3ED46E07.4340CABC@0.0> <3ED4F3FD.A0EF7079@alfred-hilscher.de> Xref: archiver1.google.com comp.lang.ada:38244 Date: 2003-05-31T16:38:19-05:00 List-Id: X-A-Notice: References line has been trimed due to 512 byte limitation Abuse-Reports-To: abuse at airmail.net to report improper postings NNTP-Proxy-Relay: library2.airnews.net NNTP-Posting-Time: Sat, 31 May 2003 16:47:11 -0500 (CDT) NNTP-Posting-Host: ![E:B1k-VXj8[M6 (Encoded at Airnews!) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 "Robert A Duff" wrote in message news:wccbrxic21e.fsf@shell01.TheWorld.com... > Bill Findlay writes: > > > 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); > > I like it. I'm not sure I like the word "idem", but I like the concept. > It serves the same purpose as pronouns in English (not that English is > a good example of a "safe" language). OK, so what are the implications for parsing expressions? For example: What does I := idem + idem; mean? How about do_some_proc(foo, baz, idem); Does "idem" refer back to foo, baz, or do_some_proc? Should we allow, or not allow, J := idem; Why or why not? What are the semantics? In particular, consider: DEVICE_DATA_REGISTER : BYTE; for DEVICE_DATA_REGISTER use at 16#4000_00F0#; ... DEVICE_DATA_REGISTER := 16#40#; DEVICE_DATA_REGISTER := idem; DEVICE_DATA_REGISTER := idem + 1; How many times should DEVICE_DATA_REGISTER be *read* by the above code fragment? Why?