From: "Robert I. Eachus" <rieachus@comcast.net>
Subject: Re: += in ada
Date: Thu, 23 Oct 2003 14:14:04 GMT
Date: 2003-10-23T14:14:04+00:00 [thread overview]
Message-ID: <3F97E1D8.1020509@comcast.net> (raw)
In-Reply-To: bebbba07.0310222134.712fd652@posting.google.com
Russ wrote:
> I still don't understand where you got that impression. For overloaded
> "+=", I don't see how it could be anything other than a procedure.
All that discussion about how A += 1 is more efficient than A := A + 1;
The procedural version is theoretically significantly less efficient
than A := A + 1; although most compilers will, when asked, do the
inlining that makes it exactly equivalent. If you think that A += 1 is
more efficient you are talking about augmented assignment. (Assignment
with the addition as a side-effect.) As I showed, in Ada if you try to
generalize that to cover all cases, there are insoluble problems.
> On the other hand, for built-in types such as integer and float (and all
> the scalar types derived from them), I would expect "+=" to be
> automatically available. It would be silly to require the programmer
> to define all those. I hope that is clear too.
If you check the tread carefully, you will find articles where I and at
least one other ARG member discussed adding Inc as a predefined
operation for Integer types. Several ARG members favor it, others think
it is unnecessary. We could also discuss whether there should be one
procedure with a default parameter:
procedure Inc (L: in out Integer; R: in Integer := 1);
or two separate versions. Personally I think the one parameter version
is enough.
Of course, the predefined operation would only be available for
predefined Integer types. But we would probably have to consider
whether it should be supported for other language defined types and if
so how. Take System.Address for example. This "extra" overhead of any
language change is one reason that the ARG seems so conservative. In
private discussions, some of the language changes considered look pretty
revolutionary. If the idea multiplies in scope, then it is usually
discarded.
As a horrible example, AI-2 and AI-7 from the Ada 83 days were seemingly
simple issues that multiplied out of control. I remember one (back then
LMC) meeting where AI-2 and AI-7 plus AIs that were separated out of
them occupied one entire volume of maybe 200 pages, and the other AIs to
be discussed were a second volume. As I recall we found a "simple"
solution to AI-7. It basically left when a certain constraint check
was performed undefined, but required the check. All the implementors
who were following the discussion knew that for the problem cases there
was only one "natural" place to do the check. For the rest we didn't
care which of the natural places it was easiest for the compiler to the
check.
Back to Inc. If there was sufficient demand from users, I am sure Inc
would be added in the revision currently in progress. However, I feel
that there are a number of more important language changes that are "on
the bubble" and may not make the cut due to limitations on how big a
change we can make. The really hard question is does this discussion
indicate a groundswell of user support for Inc, a lot of opposition to
it, or just a lot of idle discussion.
Notice that there are several major changes that almost certainly will
make it in, and at least one that is "iffy." Adding Inc would be a
minor change. Adding ++ would be a significant change, and augmented
assignment would be a huge change, if we could figure out how to make it
work.
--
Robert I. Eachus
"Quality is the Buddha. Quality is scientific reality. Quality is the
goal of Art. It remains to work these concepts into a practical,
down-to-earth context, and for this there is nothing more practical or
down-to-earth than what I have been talking about all along...the repair
of an old motorcycle." -- from Zen and the Art of Motorcycle
Maintenance by Robert Pirsig
next prev parent reply other threads:[~2003-10-23 14:14 UTC|newest]
Thread overview: 303+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-25 16:25 += in ada Dmytry Lavrov
2003-10-01 8:35 ` Peter Amey
2003-10-01 12:38 ` Frank J. Lhota
2003-10-03 16:22 ` Isaac Gouy
2003-10-06 20:21 ` Russ
2003-10-06 22:47 ` (see below)
2003-10-04 20:17 ` Craig Carey
2003-10-06 7:36 ` Jean-Pierre Rosen
2003-10-06 8:13 ` Lutz Donnerhacke
2003-10-06 22:49 ` Wes Groleau
2003-10-01 14:06 ` Gautier
2003-10-02 12:26 ` Lutz Donnerhacke
2003-10-02 13:03 ` Preben Randhol
2003-10-02 13:36 ` Lutz Donnerhacke
2003-10-02 21:28 ` Keith Thompson
2003-10-07 0:41 ` Russ
2003-10-07 10:05 ` Dmytry Lavrov
2003-10-07 11:56 ` Lutz Donnerhacke
2003-10-07 14:02 ` (see below)
2003-10-07 22:22 ` Russ
2003-10-07 23:52 ` (see below)
2003-10-08 6:08 ` Preben Randhol
2003-10-09 19:07 ` Russ
2003-10-09 19:42 ` Vinzent 'Gadget' Hoefler
[not found] ` <25oh51-uu2.ln1@beastie.ix.netcom.com>
2003-10-10 7:37 ` Preben Randhol
2003-10-10 18:56 ` Russ
2003-10-11 8:10 ` Preben Randhol
2003-10-11 8:30 ` Samuel Tardieu
2003-10-10 12:09 ` Vinzent 'Gadget' Hoefler
2003-10-10 7:34 ` Preben Randhol
2003-10-12 0:50 ` Wes Groleau
2003-10-12 8:24 ` Preben Randhol
2003-10-12 14:57 ` Robert I. Eachus
2003-10-12 18:37 ` (see below)
2003-10-13 0:42 ` Robert I. Eachus
2003-10-13 8:32 ` Dmytry Lavrov
2003-10-13 19:18 ` Robert I. Eachus
2003-10-13 23:36 ` Alexandre E. Kopilovitch
2003-10-14 6:14 ` Vinzent 'Gadget' Hoefler
2003-10-14 15:19 ` Robert I. Eachus
2003-10-30 21:43 ` ARG process (was += in ada) Randy Brukardt
2003-10-30 23:21 ` Robert I. Eachus
2003-10-10 20:31 ` += in ada Dmytry Lavrov
2003-10-12 8:23 ` Dmytry Lavrov
2003-10-14 18:00 ` Russ
2003-10-14 18:15 ` Vinzent 'Gadget' Hoefler
2003-10-15 12:50 ` Georg Bauhaus
2003-10-15 13:25 ` Hyman Rosen
2003-10-15 14:04 ` Vinzent 'Gadget' Hoefler
2003-10-15 15:19 ` Hyman Rosen
2003-10-15 18:06 ` Vinzent 'Gadget' Hoefler
2003-10-15 18:53 ` Hyman Rosen
2003-10-15 19:34 ` Vinzent 'Gadget' Hoefler
2003-10-15 23:09 ` Alexandre E. Kopilovitch
2003-10-16 5:05 ` Russ
2003-10-16 12:07 ` Marin David Condic
2003-10-16 13:43 ` Hyman Rosen
2003-10-16 23:57 ` Robert I. Eachus
2003-10-17 6:22 ` Russ
2003-10-17 6:38 ` Preben Randhol
2003-10-17 15:48 ` Robert I. Eachus
2003-10-19 1:15 ` Russ
2003-10-19 16:04 ` Robert I. Eachus
2003-10-19 23:59 ` Russ
2003-10-20 5:24 ` Chad R. Meiners
2003-10-20 5:52 ` Robert I. Eachus
2003-10-20 12:40 ` Marin David Condic
2003-10-20 14:36 ` Preben Randhol
2003-10-21 0:23 ` Wes Groleau
2003-10-21 3:46 ` Hyman Rosen
2003-10-21 6:37 ` Russ
2003-10-21 10:10 ` Marius Amado Alves
2003-10-22 5:23 ` Russ
2003-10-20 14:34 ` Preben Randhol
2003-10-21 7:43 ` Russ
2003-10-21 12:45 ` Lutz Donnerhacke
2003-10-22 7:13 ` Russ
2003-10-22 8:48 ` Vinzent 'Gadget' Hoefler
2003-10-22 9:02 ` Lutz Donnerhacke
2003-10-22 18:21 ` Russ
2003-10-22 19:10 ` Vinzent 'Gadget' Hoefler
2003-10-23 5:24 ` + " Russ
2003-10-22 19:16 ` += " sk
2003-10-22 19:13 ` Vinzent 'Gadget' Hoefler
2003-10-23 5:16 ` Russ
2003-10-23 5:45 ` sk
2003-10-22 21:22 ` Russ
2003-10-23 2:23 ` Wes Groleau
2003-10-22 9:46 ` Preben Randhol
2003-10-22 8:01 ` Russ
2003-10-21 13:38 ` Robert I. Eachus
2003-10-22 7:24 ` Russ
2003-10-22 19:50 ` Robert I. Eachus
2003-10-23 5:34 ` Russ
2003-10-23 14:14 ` Robert I. Eachus [this message]
2003-10-24 9:15 ` Peter Hermann
2003-10-24 10:11 ` Marius Amado Alves
2003-10-26 7:35 ` Pascal Obry
2003-10-24 11:20 ` Marin David Condic
2003-10-25 3:14 ` Russ
2003-10-25 5:07 ` Russ
2003-10-19 23:19 ` Robert A Duff
2003-10-20 6:16 ` Russ
2003-10-20 14:31 ` Preben Randhol
2003-10-20 17:10 ` Robert I. Eachus
2003-10-20 17:53 ` Hyman Rosen
2003-10-20 19:11 ` Robert I. Eachus
2003-10-20 19:32 ` Hyman Rosen
2003-10-20 23:24 ` Alexandre E. Kopilovitch
2003-10-21 0:40 ` Wes Groleau
2003-10-21 3:45 ` Hyman Rosen
2003-10-21 12:07 ` Preben Randhol
2003-10-21 12:18 ` Marius Amado Alves
2003-10-21 12:45 ` Marin David Condic
2003-10-21 14:46 ` Robert I. Eachus
2003-10-21 17:54 ` Chad R. Meiners
2003-10-21 20:23 ` Robert I. Eachus
2003-10-22 0:18 ` Wes Groleau
2003-10-22 4:07 ` Robert I. Eachus
2003-10-22 20:41 ` Wes Groleau
2003-10-22 11:56 ` Marin David Condic
2003-10-22 0:14 ` Wes Groleau
2003-10-22 12:31 ` Early Ada Mistakes (was: Re: += in ada) Marin David Condic
2003-10-22 20:05 ` Robert I. Eachus
2003-10-23 4:47 ` Marin David Condic
2003-10-23 14:36 ` Early Ada Mistakes Hyman Rosen
2003-10-23 19:04 ` Chad R. Meiners
2003-10-24 13:33 ` Preben Randhol
2003-10-24 16:59 ` Robert I. Eachus
2003-10-23 19:08 ` Wes Groleau
2003-10-23 22:17 ` Robert I. Eachus
2003-10-24 11:26 ` Marin David Condic
2003-10-23 18:50 ` Wes Groleau
2003-10-22 21:00 ` Wes Groleau
2003-10-23 4:53 ` Marin David Condic
2003-10-22 6:56 ` += in ada Russ
2003-10-22 7:26 ` Preben Randhol
2003-10-22 11:27 ` Stephane Richard
2003-10-22 20:12 ` Robert I. Eachus
2003-10-22 20:52 ` Wes Groleau
[not found] ` <emte61-d03.ln1@beastie.ix.netcom.com>
2003-10-21 12:57 ` Hyman Rosen
2003-10-21 2:43 ` Alexandre E. Kopilovitch
2003-10-21 9:39 ` Stephane Richard
2003-10-19 22:26 ` Wes Groleau
2003-10-16 4:31 ` + " Russ
2003-10-16 8:57 ` += " Vinzent 'Gadget' Hoefler
2003-10-16 20:56 ` + " Georg Bauhaus
2003-10-16 4:04 ` += " Russ
2003-10-16 8:57 ` Vinzent 'Gadget' Hoefler
2003-10-17 3:03 ` Wes Groleau
2003-10-17 11:46 ` Marin David Condic
2003-10-17 11:50 ` Preben Randhol
2003-10-17 12:40 ` sk
2003-10-17 12:48 ` Preben Randhol
2003-10-15 14:16 ` Dmytry Lavrov
2003-10-16 5:40 ` Russ
2003-10-16 12:45 ` Lutz Donnerhacke
2003-10-16 22:07 ` Russ
2003-10-17 9:10 ` Lutz Donnerhacke
2003-10-16 13:48 ` Dmytry Lavrov
2003-10-16 20:46 ` Georg Bauhaus
2003-10-17 2:37 ` Russ
2003-10-17 3:01 ` sk
2003-10-17 5:42 ` Russ
2003-10-17 11:26 ` sk
2003-10-17 20:24 ` Dmytry Lavrov
2003-10-17 3:52 ` Chad R. Meiners
2003-10-17 6:32 ` Preben Randhol
2003-10-17 8:48 ` Dmytry Lavrov
2003-10-16 1:25 ` Chad R. Meiners
2003-10-19 23:50 ` Robert A Duff
2003-10-20 5:52 ` Chad R. Meiners
2003-10-07 18:28 ` Alexander Kopilovitch
2003-10-10 19:56 ` Dmytry Lavrov
2003-10-20 7:41 ` idem (Was: += in ada) Jacob Sparre Andersen
2003-10-20 8:28 ` Dmitry A. Kazakov
2003-10-20 8:34 ` (see below)
2003-10-31 22:40 ` Nick Roberts
2003-10-14 9:52 ` += in ada Stuart Palin
2003-10-16 8:49 ` Russ
2003-10-16 12:46 ` Lutz Donnerhacke
2003-10-16 13:46 ` Hyman Rosen
2003-10-16 15:42 ` Mark A. Biggar
2003-10-16 16:48 ` Hyman Rosen
2003-10-17 0:26 ` Robert I. Eachus
2003-10-17 1:26 ` Marin David Condic
2003-10-17 3:59 ` Chad R. Meiners
2003-10-17 11:54 ` Marin David Condic
2003-10-17 20:35 ` Russ
2003-10-19 22:22 ` Wes Groleau
2003-10-19 1:37 ` Russ
2003-10-19 3:16 ` sk
2003-10-19 14:10 ` Preben Randhol
2003-10-19 14:29 ` Marin David Condic
2003-10-20 2:47 ` Russ
2003-10-20 3:03 ` Vinzent 'Gadget' Hoefler
2003-10-20 5:47 ` Chad R. Meiners
2003-10-20 12:56 ` Marin David Condic
2003-10-20 6:19 ` Ross Higson
2003-10-21 17:30 ` Russ
2003-10-21 18:40 ` sk
2003-10-22 7:35 ` Russ
2003-10-21 23:28 ` Ross Higson
2003-10-21 23:55 ` Jerry Petrey
2003-10-22 7:35 ` Preben Randhol
2003-10-20 16:30 ` Martin Dowie
2003-10-20 17:05 ` Hyman Rosen
2003-10-20 17:46 ` Martin Dowie
2003-10-20 18:01 ` Hyman Rosen
2003-10-21 0:57 ` Wes Groleau
2003-10-21 1:46 ` Stephane Richard
2003-10-21 3:38 ` Hyman Rosen
2003-10-21 8:49 ` Martin Dowie
2003-10-21 9:04 ` Marius Amado Alves
2003-10-21 13:00 ` Marin David Condic
2003-10-21 13:37 ` Marius Amado Alves
2003-10-21 14:50 ` Robert I. Eachus
2003-10-21 15:01 ` Stephane Richard
2003-10-21 15:03 ` Stephane Richard
2003-10-21 15:07 ` Vinzent 'Gadget' Hoefler
2003-10-21 15:13 ` Stephane Richard
2003-10-21 15:58 ` (see below)
2003-10-21 15:24 ` Dmitry A. Kazakov
2003-10-21 16:44 ` Marius Amado Alves
2003-10-22 7:32 ` Preben Randhol
2003-10-22 8:48 ` Vinzent 'Gadget' Hoefler
2003-10-22 20:24 ` Robert I. Eachus
2003-10-27 12:01 ` Vinzent 'Gadget' Hoefler
2003-10-27 17:31 ` Robert I. Eachus
2003-10-21 13:01 ` Hyman Rosen
2003-10-21 4:49 ` sk
2003-10-21 21:19 ` Simon Wright
2003-10-22 4:37 ` sk
2003-10-19 14:40 ` chris
2003-10-19 15:12 ` Stephane Richard
2003-10-19 16:26 ` Robert I. Eachus
2003-10-20 2:02 ` Hyman Rosen
2003-10-20 6:12 ` Robert I. Eachus
2003-10-20 12:50 ` Hyman Rosen
2003-10-20 17:53 ` Robert I. Eachus
2003-10-20 18:03 ` Hyman Rosen
2003-10-21 1:35 ` Marin David Condic
2003-10-21 3:05 ` Alexandre E. Kopilovitch
2003-10-21 3:30 ` Hyman Rosen
2003-10-21 13:22 ` Alexandre E. Kopilovitch
2003-10-21 15:02 ` Hyman Rosen
2003-10-19 21:09 ` Dmytry Lavrov
2003-10-17 14:15 ` Hyman Rosen
2003-10-17 14:40 ` Lutz Donnerhacke
2003-10-17 15:40 ` Hyman Rosen
2003-10-17 15:49 ` Lutz Donnerhacke
2003-10-17 20:43 ` Hyman Rosen
2003-10-17 16:02 ` Preben Randhol
2003-10-17 16:06 ` Preben Randhol
2003-10-19 22:36 ` Wes Groleau
2003-10-18 0:08 ` Russ
2003-10-18 10:31 ` Georg Bauhaus
2003-10-20 5:35 ` Chad R. Meiners
2003-10-20 13:00 ` Hyman Rosen
2003-10-20 14:27 ` (see below)
2003-10-20 15:58 ` Chad R. Meiners
2003-10-16 21:53 ` Russ
2003-10-17 8:20 ` Lutz Donnerhacke
2003-10-17 14:21 ` Hyman Rosen
2003-10-17 14:42 ` Lutz Donnerhacke
2003-10-17 15:46 ` Hyman Rosen
2003-10-17 15:35 ` Larry Kilgallen
2003-10-17 16:02 ` Robert I. Eachus
2003-10-17 17:20 ` Chad R. Meiners
2003-10-16 8:57 ` Vinzent 'Gadget' Hoefler
-- strict thread matches above, loose matches on Subject: below --
2003-10-01 8:54 christoph.grein
2003-10-04 12:51 ` Georg Bauhaus
2003-10-13 9:22 christoph.grein
2003-10-13 18:38 ` Wes Groleau
2003-10-13 18:59 ` Robert I. Eachus
2003-10-16 8:25 + " Lionel.DRAGHI
2003-10-16 13:22 ` Hyman Rosen
2003-10-16 14:30 ` Vinzent 'Gadget' Hoefler
2003-10-16 16:13 ` Russ
2003-10-16 21:47 ` Georg Bauhaus
2003-10-17 20:03 ` Russ
2003-10-16 15:55 Lionel.DRAGHI
2003-10-17 8:58 Lionel.DRAGHI
2003-10-20 10:42 += " christoph.grein
2003-10-21 6:16 ` Russ
2003-10-21 8:25 ` Ole-Hjalmar Kristensen
2003-10-21 8:40 += in Ada Marius Amado Alves
2003-10-21 8:41 += in ada christoph.grein
2003-10-22 5:00 ` Russ
2003-10-21 8:53 christoph.grein
2003-10-21 13:48 ` Ole-Hjalmar Kristensen
2003-10-22 7:31 ` Russ
2003-10-22 8:02 ` Preben Randhol
2003-10-22 11:41 ` Stephane Richard
2003-10-22 15:17 ` Chad R. Meiners
2003-10-22 15:47 ` Preben Randhol
2003-10-22 15:07 ` Martin Dowie
2003-10-21 10:03 christoph.grein
[not found] <1066725615.2801.26.camel@localhost.localdomain>
2003-10-21 11:57 ` += in Ada sk
2003-10-21 12:07 += in ada christoph.grein
2003-10-21 13:51 ` Preben Randhol
[not found] <3F957DAD.2020801@myob.com>
2003-10-21 21:16 ` Alexandre E. Kopilovitch
[not found] ` <nSp8Qb_KxF@vib.usr.pu.ru>
2003-10-21 21:40 ` sk
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox