comp.lang.ada
 help / color / mirror / Atom feed
From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Proposed change to BC iterator parameters
Date: 11 Dec 2003 10:09:39 -0500
Date: 2003-12-11T10:09:39-05:00	[thread overview]
Message-ID: <wccn09zv1ak.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: UkPBb.9455$rP6.7838@newsread2.news.pas.earthlink.net

Jeffrey Carter <spam@spam.com> writes:

> If we had a syntax like that I described, there would be no predefined
> "=" for either kind of type.

Then how do you write the body of the user-defined "="?

> One can think about all kinds of constraints on types, such as the
> integer types you mentioned. It would be nice to have unconstrained
> arrays with a fixed lower bound*:
> 
> type String_From_1 is array (Positive range 1 .. <>) of Character;

Indeed.  I think the way to do that would be to eliminate the "range <>"
syntax, and allow arrays types to have discriminants.  So the index
subtype would be given as a name, or a "name range
expression..expression", where either expression can refer to a
discrimant.  Like this:

  type String(Last: Natural) is array (Positive range 1 .. Last) of Character;

Instead of X'Last, one would say X.Last.  This seems simpler than having
special syntax "range <>", and then extending that to "range 1..<>"
and "range <>..10".

Something like that was proposed during the Ada 9X project.

> I don't expect to see major changes of this sort.

No, I don't expect that particular change in the next Ada.

>... Where do you stop?

You don't, I suppose.  Fortran is much older than Ada, and they keep
coming out with major revisions of Fortran.

> Should you allow arrays with a fixed upper bound?

Of course.  To disallow that would be an arbitrary restriction,
not a simplification (presuming you're going to allow fixed
lower bounds).

> * Ada sort of has this:
> 
> type String_From_1 (Length : Natural) is record
>     Value : String (1 .. Length);
> end record;

Sort of.  The syntax for string literals and slices becomes pretty awful.

- Bob



  reply	other threads:[~2003-12-11 15:09 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-10 13:36 Proposed change to BC iterator parameters amado.alves
2003-12-10 16:47 ` Proposed change to BC iterator parameters [limitedness] Georg Bauhaus
2003-12-10 17:39 ` Proposed change to BC iterator parameters Martin Krischik
2003-12-10 18:22 ` Jeffrey Carter
2003-12-10 23:00   ` Robert A Duff
2003-12-11  1:00     ` Jeffrey Carter
2003-12-11 15:09       ` Robert A Duff [this message]
2003-12-11  8:33     ` Dmitry A. Kazakov
2003-12-10 20:50 ` Simon Wright
2003-12-10 23:12 ` Robert A Duff
2003-12-11  5:07   ` Steve
2003-12-11 15:24     ` Robert A Duff
2003-12-11 17:39       ` Jeffrey Carter
2003-12-12 22:22         ` Robert A Duff
2003-12-13  0:57           ` Jeffrey Carter
2003-12-17 20:59             ` Robert A Duff
2003-12-18 10:05               ` Dmitry A. Kazakov
2003-12-18 18:14                 ` Robert A Duff
2003-12-19 10:53                   ` Dmitry A. Kazakov
2003-12-19 16:17                     ` Georg Bauhaus
2003-12-19 17:19                       ` Dmitry A. Kazakov
2003-12-19 22:51                         ` Robert A Duff
2003-12-20 12:20                           ` Dmitry A. Kazakov
2003-12-19 22:47                       ` Robert A Duff
2003-12-20  2:11                         ` Stephen Leake
2003-12-20 19:08                         ` Robert I. Eachus
2003-12-21 11:39                           ` Simon Wright
2003-12-21 18:13                             ` Robert I. Eachus
2003-12-21 13:58                           ` Dmitry A. Kazakov
2003-12-22  1:25                             ` Robert I. Eachus
     [not found]         ` <916oa1-c93.ln1@beastie.ix.netcom.com>
2003-12-13 16:57           ` Simon Wright
2003-12-12  5:29     ` Simon Wright
2003-12-12 22:26       ` Robert A Duff
2003-12-13 16:55         ` Simon Wright
2003-12-13 17:27           ` Dmitry A. Kazakov
2003-12-13  2:44       ` Steve
  -- strict thread matches above, loose matches on Subject: below --
2003-12-23 10:40 amado.alves
2003-12-19 15:53 amado.alves
2003-12-19 23:05 ` Robert A Duff
2003-12-11 16:02 amado.alves
2003-12-11 15:05 ada_wizard
2003-12-11 16:45 ` Robert A Duff
2003-12-11 12:56 amado.alves
2003-12-17 20:25 ` Robert A Duff
2003-12-11 12:43 amado.alves
2003-12-11 12:33 amado.alves
2003-12-10 14:39 amado.alves
2003-12-10  5:46 Simon Wright
2003-12-10 18:12 ` Jeffrey Carter
2003-12-11 16:10   ` Martin Krischik
2003-12-10 20:59 ` Simon Wright
replies disabled

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