From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Surprise in array concatenation
Date: Thu, 1 Sep 2005 20:06:21 +0200
Date: 2005-09-01T20:05:52+02:00 [thread overview]
Message-ID: <jqbjjrcn23mc$.y4xduhwtp681$.dlg@40tude.net> (raw)
In-Reply-To: wcc4q94g4fy.fsf@shell01.TheWorld.com
On 01 Sep 2005 12:04:17 -0400, Robert A Duff wrote:
> "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
>
>> On 31 Aug 2005 20:16:43 -0700, Gene wrote:
>>
>>> Nonetheless the rule seems silly: When a leading zero-length array is
>>> catenated to another array the result takes on the starting index of
>>> the _second_ operand. This doesn't make sense to me. Why not use the
>>> starting index of the zero-length array?
>>
>> Because that might be ill-defined, I guess.
>>
>> A more interesting question is why Empty'First does not raise any
>> exception.
>
> Heh? You want this:
>
> procedure Put(S: String) is
> begin
> for I in S'First..S'Last loop -- equivalent to S'Range
> Put_Char(S(I));
>
> to crash when S = ""?
Yes. It is in my view no different from
Y := X / X;
crashing when X=0. The former should be
for I in S'Range loop -- is not equivalent to S'First..S'Last when S is ""
The latter should be:
Y := 1; -- is not equivalent to X / X when X is 0
>>... After all, there is no any lower bound of an empty index range.
>
> In Ada, every range, and every array, has both a lower and an upper
> bound.
That's exactly the problem! (:-))
>> Provided, that empty arrays are all same, of course.
>
> Depends on what you mean by "same". ;-) Different empty arrays can
> have different bounds -- but "=" returns True!
Ditto. Empty sets are indistinguishable. They have no identity. Ada's empty
arrays are different with all nasty consequences of that.
>>... If not, then another
>> interesting question would appear: how to make an empty array with the
>> lower bound Integer'First?
>
> You can't.
Which is bad.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2005-09-01 18:06 UTC|newest]
Thread overview: 108+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-01 3:16 Surprise in array concatenation Gene
2005-09-01 7:55 ` Dmitry A. Kazakov
2005-09-01 8:02 ` Florian Weimer
2005-09-01 11:48 ` Georg Bauhaus
2005-09-01 12:02 ` Lutz Donnerhacke
2005-09-01 13:01 ` Georg Bauhaus
2005-09-01 15:54 ` Florian Weimer
2005-09-01 16:09 ` Robert A Duff
2005-09-05 8:38 ` Jean-Pierre Rosen
2005-09-05 23:52 ` Robert A Duff
2005-09-06 9:03 ` Jean-Pierre Rosen
2005-09-07 17:57 ` adaworks
2005-09-07 20:01 ` Robert A Duff
2005-09-08 8:08 ` Jacob Sparre Andersen
2005-09-07 22:46 ` Jeffrey Carter
2005-09-08 4:43 ` Simon Wright
2005-09-08 10:36 ` Georg Bauhaus
2005-09-08 13:47 ` Ed Falis
2005-09-08 17:03 ` Pascal Obry
2005-09-08 16:45 ` Jeffrey Carter
2005-09-08 19:37 ` Simon Wright
2005-09-08 6:32 ` adaworks
2005-09-08 9:09 ` Jean-Pierre Rosen
2005-09-08 16:56 ` Jeffrey Carter
2005-09-09 14:04 ` Bob Spooner
2005-09-09 16:17 ` adaworks
2005-09-23 23:04 ` Randy Brukardt
2005-09-14 8:57 ` Ole-Hjalmar Kristensen
2005-09-23 23:09 ` Randy Brukardt
2005-09-24 10:49 ` Larry Kilgallen
2005-09-24 20:27 ` Lurker
2005-09-25 0:20 ` Robert A Duff
2005-09-25 17:05 ` adaworks
2005-09-01 11:42 ` Georg Bauhaus
2005-09-01 13:59 ` Dmitry A. Kazakov
2005-09-01 15:36 ` Georg Bauhaus
2005-09-01 18:34 ` Dmitry A. Kazakov
2005-09-02 10:43 ` Georg Bauhaus
2005-09-02 13:11 ` Dmitry A. Kazakov
2005-09-02 14:23 ` Georg Bauhaus
2005-09-02 19:48 ` Dmitry A. Kazakov
2005-09-02 17:21 ` Björn Persson
2005-09-01 16:04 ` Robert A Duff
2005-09-01 18:06 ` Dmitry A. Kazakov [this message]
2005-09-02 10:42 ` Georg Bauhaus
2005-09-02 13:20 ` Dmitry A. Kazakov
2005-09-02 14:14 ` Georg Bauhaus
2005-09-02 19:48 ` Dmitry A. Kazakov
2005-09-03 20:01 ` Georg Bauhaus
2005-09-04 10:13 ` Dmitry A. Kazakov
2005-09-05 13:22 ` Georg Bauhaus
2005-09-05 15:50 ` Dmitry A. Kazakov
2005-09-05 18:20 ` Georg Bauhaus
2005-09-05 18:31 ` Georg Bauhaus
2005-09-06 8:20 ` Dmitry A. Kazakov
2005-09-06 11:52 ` Georg Bauhaus
2005-09-06 13:46 ` Dmitry A. Kazakov
2005-09-06 15:51 ` Georg Bauhaus
2005-09-06 21:32 ` Robert A Duff
2005-09-07 9:08 ` Dmitry A. Kazakov
2005-09-07 18:20 ` Georg Bauhaus
2005-09-07 19:07 ` Georg Bauhaus
2005-09-07 21:23 ` Dmitry A. Kazakov
2005-09-08 10:27 ` Georg Bauhaus
2005-09-08 11:39 ` Georg Bauhaus
2005-09-08 13:44 ` Dmitry A. Kazakov
2005-09-08 18:18 ` Georg Bauhaus
2005-09-09 10:06 ` Dmitry A. Kazakov
2005-09-09 12:26 ` Georg Bauhaus
2005-09-09 12:29 ` Georg Bauhaus
2005-09-01 8:48 ` Jean-Pierre Rosen
2005-09-01 15:57 ` Robert A Duff
2005-09-01 21:42 ` Gene
2005-09-01 22:56 ` tmoran
2005-09-05 15:53 ` Gene
2005-09-05 17:47 ` jimmaureenrogers
2005-09-05 22:13 ` Robert A Duff
2005-09-06 8:24 ` Dmitry A. Kazakov
2005-09-05 19:22 ` Jeffrey R. Carter
2005-09-05 21:54 ` Robert A Duff
2005-09-05 22:50 ` Larry Kilgallen
2005-09-05 23:46 ` Robert A Duff
2005-09-12 3:59 ` Dave Thompson
2005-09-06 16:02 ` Jeffrey Carter
2005-09-06 21:00 ` Robert A Duff
2005-09-06 5:38 ` Pascal Obry
2005-09-05 21:48 ` Robert A Duff
2005-09-06 5:25 ` tmoran
2005-09-06 14:58 ` Robert A Duff
2005-09-06 9:26 ` Georg Bauhaus
2005-09-06 15:00 ` Robert A Duff
2005-09-07 11:02 ` Thierry Pirot
2005-09-07 20:09 ` Robert A Duff
2005-09-06 13:22 ` Bob Spooner
2005-09-06 15:30 ` Robert A Duff
2005-09-06 16:12 ` Jeffrey Carter
2005-09-06 21:21 ` Robert A Duff
2005-09-02 20:19 ` Jeffrey R. Carter
2005-09-03 12:51 ` Dr. Adrian Wrigley
2005-09-03 14:08 ` Jacob Sparre Andersen
2005-09-05 8:34 ` Jean-Pierre Rosen
2005-09-05 9:32 ` Arrays indexed by fixed point types (Was: Surprise in array concatenation) Jacob Sparre Andersen
2005-09-05 11:07 ` Jean-Pierre Rosen
2005-09-05 15:12 ` Dr. Adrian Wrigley
2005-09-05 12:14 ` Dmitry A. Kazakov
2005-09-05 13:07 ` Jacob Sparre Andersen
2005-09-05 15:10 ` Dmitry A. Kazakov
2005-09-05 11:29 ` Surprise in array concatenation Dr. Adrian Wrigley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox