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-28 11:54:17 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!newshub.sdsu.edu!canoe.uoregon.edu!arclight.uoregon.edu!news.tufts.edu!uunet!dca.uu.net!ash.uu.net!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Ideas for Ada 200X Date: 28 May 2003 14:54:15 -0400 Organization: The World Public Access UNIX, Brookline, MA 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> <3ED4ECFC.5060000@cogeco.ca> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1054148055 31677 199.172.62.241 (28 May 2003 18:54:15 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Wed, 28 May 2003 18:54:15 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.ada:37934 Date: 2003-05-28T14:54:15-04:00 List-Id: Lutz Donnerhacke writes: > * Robert A Duff wrote: > > "Warren W. Gay VE3WWG" writes: > >> I disagree that it is "urgent". What is your case for urgency here? > >> From what I have seen, most people that promote the idea, are just > >> "typing challenged" (yes I know ++i is different than i++). > > > > Well, I like the idea of an increment operation, and my reasoning has > > nothing to do with typing. The problem is code duplication: you have to > > write "I" twice in "I := I + 1;". No big deal if it's just "I", but it > > could be a complicated name, so the reader has to careful compare the > > text, and also worry about whether the name has side effects. > > Approach 1: > generic > type XT is (<>); > procedure Inc(x : in out XT); > procedure Inc(x : in out XT) is > begin > x := XT'Succ(x); > end Inc; Yuck. This is the sort of thing that makes C programmers laugh at Ada! You're telling me that to increment a variable I have to instantiate a generic. The verbosity simply is not worth it. > Approach 2: > declare > x : XT renames complex.express(ion); > begin > x := x + 1; > end; Yuck again. Five lines of code to do an increment?! I'm not complaining about typing it in, I'm complaining about having to read a whole lot of code that doesn't do much of anything. > > Of course, if Ada had such a thing, it shouldn't be called "--". > > If I were the boss, it would be called Incr and Decr. > > Why not 'Succ and 'Pred? The existing 'Succ and 'Pred are functions, and require writing the variable name twice, which is the problem. We could define attributes that increment, but then 'Succ and 'Pred would be inappropriate names. You want a verb, like "increment". - Bob