From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Array Help?
Date: Fri, 9 Mar 2012 15:10:39 -0600
Date: 2012-03-09T15:10:39-06:00 [thread overview]
Message-ID: <jjdrkl$q8l$1@munin.nbi.dk> (raw)
In-Reply-To: Pine.LNX.4.64.1203090923440.19986@medsec1.medien.uni-weimar.de
<stefan-lucks@see-the.signature> wrote in message
news:Pine.LNX.4.64.1203090923440.19986@medsec1.medien.uni-weimar.de...
> On Thu, 8 Mar 2012, Randy Brukardt wrote:
...
> Sorry for using anonymous arrays. I hardly ever do this in real
> code. Please change the above code to
>
> generic
> type Element_Type is (<>);
> type Collection_Type is array(generic Positive range <>) of
> Element_Type;
> with function "<"(Left, Right : Element_Type) return Boolean is <>;
> function Sort(Items : Collection_Type) return Collection_Type;
>
> The issue is the same:
>
>> > Sort(X) should be callable if the index type of X is any discrete type,
>> > except when the index type is too large (i.e., X has more than
>> > Positive'Last elements).
Which as I said doesn't make sense: Positive is numeric; if you want any
discrete type for the index you have to say so:
generic
type Element_Type is (<>); -- Really ought to be "is private".
type Index_Type is (<>);
type Collection_Type is array(Index_Type range <>) of Element_Type;
with function "<"(Left, Right : Element_Type) return Boolean is <>;
function Sort(Items : Collection_Type) return Collection_Type;
This works now (and has since Ada 83!), so I fail to see exactly what your
proposal gains (other than a bit less typing, and Ada have never been about
saving typing).
Randy.
next prev parent reply other threads:[~2012-03-09 21:10 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-28 20:15 Array Help? Will
2012-02-28 20:47 ` Ludovic Brenta
2012-02-28 22:11 ` Simon Wright
2012-02-28 23:09 ` Will
2012-02-29 0:24 ` Adam Beneschan
2012-02-28 20:50 ` Gautier write-only
2012-02-28 21:33 ` Simon Wright
2012-02-29 0:27 ` Adam Beneschan
2012-02-29 8:00 ` Simon Wright
2012-02-29 8:48 ` Simon Wright
2012-02-29 0:22 ` Adam Beneschan
2012-02-29 16:09 ` Robert A Duff
2012-02-29 16:50 ` Ludovic Brenta
2012-02-29 18:24 ` Robert A Duff
2012-02-29 19:45 ` stefan-lucks
2012-02-29 20:45 ` Jeffrey Carter
2012-02-29 21:27 ` stefan-lucks
2012-02-29 23:06 ` Robert A Duff
2012-03-02 13:45 ` stefan-lucks
2012-03-07 23:58 ` Randy Brukardt
2012-03-08 11:20 ` stefan-lucks
2012-03-09 2:02 ` Randy Brukardt
2012-03-09 8:48 ` stefan-lucks
2012-03-09 21:10 ` Randy Brukardt [this message]
2012-03-15 2:55 ` BrianG
2012-03-15 7:46 ` stefan-lucks
2012-02-29 20:07 ` Dmitry A. Kazakov
2012-02-29 23:15 ` Robert A Duff
2012-03-01 8:54 ` Dmitry A. Kazakov
2012-03-01 14:06 ` Robert A Duff
2012-02-29 20:47 ` Simon Wright
2012-02-29 22:23 ` Robert A Duff
2012-02-29 23:27 ` Robert A Duff
2012-03-01 0:53 ` Adam Beneschan
2012-03-01 7:16 ` Ludovic Brenta
2012-03-01 14:03 ` Robert A Duff
2012-03-08 0:11 ` Randy Brukardt
2012-03-08 0:08 ` Randy Brukardt
2012-02-29 23:30 ` Simon Wright
2012-02-29 18:35 ` Jeffrey Carter
2012-02-29 22:59 ` Robert A Duff
2012-02-29 23:51 ` Jeffrey Carter
2012-03-01 3:03 ` Robert A Duff
2012-02-29 20:40 ` Adam Beneschan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox