comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Half Constrained Array Types and Slices
Date: Fri, 10 Mar 2006 18:19:02 -0600
Date: 2006-03-10T18:19:02-06:00	[thread overview]
Message-ID: <PcadnS1byP7zio_ZnZ2dnUVZ_tGdnZ2d@megapath.net> (raw)
In-Reply-To: wccmzfyurm5.fsf@shell01.TheWorld.com

"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
news:wccmzfyurm5.fsf@shell01.TheWorld.com...
> "Jeffrey R. Carter" <spam.not.jrcarter@acm.not.spam.org> writes:
> > I think the index type should be discrete. But surely it doesn't need to
> > be an integer:
> >
> > with Ada.Text_IO;
> > procedure Null_Range is
> >     type A is (B, C);
> >
> >     type D is array (A range <>) of Integer;
> >
> >     E : D (C .. B);
> > begin -- Null_Range
> >     Ada.Text_IO.Put_Line (Item => A'Image (E'Last) );
> > end Null_Range;
> >
> > This is valid Ada.
>
> Indeed it is.  I don't think it's very useful, however.
> My claim is that if you want empty arrays, you almost
> certainly want to index them by (non-modular) integers.
> Which is why I'm happy with the restriction in the Containers
> library that Vector indices must be signed integers.

I don't buy this, especially in the case of modular integers, but even in
the case of large enumeration sets (like Character). I don't see any reason
to think that integers are special; the whole reason for allowing
non-integer array indexes is for greater abstraction. Empty arrays are never
very useful, but I don't think there is much reason to say that they'll
useful in the one case but not the other. That's essentially that same as
saying that integers are more useful as array indexes; in that case, why
bother allowing anything else as array indexes? Of course, I was very
against the restriction in the Containers library, too...

                                     Randy.





  reply	other threads:[~2006-03-11  0:19 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-02  5:00 Half Constrained Array Types and Slices Jeffrey R. Carter
2006-03-02  8:34 ` Dmitry A. Kazakov
2006-03-02 15:34   ` Georg Bauhaus
2006-03-02 19:37     ` Dmitry A. Kazakov
2006-03-02 20:06   ` Jeffrey R. Carter
2006-03-02 20:37     ` Dmitry A. Kazakov
2006-03-02 21:01     ` Robert A Duff
2006-03-02 20:40   ` Robert A Duff
2006-03-02 14:32 ` Larry Kilgallen
2006-03-02 20:08   ` Jeffrey R. Carter
2006-03-02 20:48   ` Robert A Duff
2006-03-06  2:16     ` Larry Kilgallen
2006-03-06 18:50       ` Martin Krischik
2006-03-02 20:38 ` Robert A Duff
2006-03-03  5:15   ` Jeffrey R. Carter
2006-03-03  8:57     ` Dmitry A. Kazakov
2006-03-03 23:41     ` Robert A Duff
2006-03-06 17:50       ` Jeff Carter
2006-03-06 18:31         ` Dmitry A. Kazakov
2006-03-07 19:02           ` Jeff Carter
2006-03-08 14:29             ` Dmitry A. Kazakov
2006-03-09 22:44               ` Robert A Duff
2006-03-10  8:46                 ` Dmitry A. Kazakov
2006-03-06 19:49         ` Stefan Lucks
2006-03-08 17:36         ` brian.b.mcguinness
2006-03-08 17:56           ` Jeff Carter
2006-03-09 22:36         ` Robert A Duff
2006-03-10  4:28           ` Jeffrey R. Carter
2006-03-10  8:46             ` Dmitry A. Kazakov
2006-03-10 17:33               ` Robert A Duff
2006-03-10 21:24                 ` Dmitry A. Kazakov
2006-03-10 17:38             ` Robert A Duff
2006-03-11  0:19               ` Randy Brukardt [this message]
2006-03-11  1:43                 ` Jeffrey R. Carter
2006-03-11  8:38                   ` Niklas Holsti
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox