From: Warren <ve3wwg@gmail.com>
Subject: Re: Inferring array index type from array object
Date: Wed, 23 Jun 2010 18:45:04 +0000 (UTC)
Date: 2010-06-23T18:45:04+00:00 [thread overview]
Message-ID: <Xns9DA0960D6BA32WarrensBlatherings@81.169.183.62> (raw)
In-Reply-To: xhhsthd26ppk$.1iukhhnnqoq42$.dlg@40tude.net
Dmitry A. Kazakov expounded in
news:xhhsthd26ppk$.1iukhhnnqoq42$.dlg@40tude.net:
> On Wed, 23 Jun 2010 16:33:43 +0000 (UTC), Warren wrote:
>
>> Niklas Holsti expounded in news:88ec2vF3uqU1@mid.individual.net:
>>> Dmitry A. Kazakov wrote:
>>>> On Wed, 23 Jun 2010 00:30:23 -0700 (PDT), Maciej Sobczak wrote:
>> ..
>>>>> 2. Is it possible to declare the index variable without hardcoding
>>>>> the index type (that is, to infer it from the array object)?
>>>>
>>>> No, without improving the type system. E.g. introducing abstract
>>>> index types, and abstract range types (or more general sets of
>>>> index types), and abstract composite types like arrays.
>>>
>>> I don't think such large language changes would be necessary. The
>>> expression S'Range gives the compiler all the information about the
>>> type and its constraints, so I see no reason why Ada could not be
>>> extended simply to allow S'Range in a variable declaration, as in
>>> the above quoted "I : S'Range". The declared variable "I" would have
>>> the same (sub)type as the loop counter in "for I in S'Range loop
>>> ...".
>>
>> I think most would agree that this is a "convenience" feature.
>> I think the language (and its compiler) is probably complicated
>> enough for these types of additions.
>
> On the contrary, it is complicated because ranges and indices are
> irregular types. Hard coded special cases make language more complex
> for both programmer and compiler developer.
"On the contrary" to what? I already said things were
"probably complicated enough".
Warren
next prev parent reply other threads:[~2010-06-23 18:45 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-23 7:30 Inferring array index type from array object Maciej Sobczak
2010-06-23 8:01 ` Dmitry A. Kazakov
2010-06-23 9:03 ` J-P. Rosen
2010-06-23 12:24 ` Georg Bauhaus
2010-06-23 12:52 ` J-P. Rosen
2010-06-23 19:09 ` Simon Wright
2010-06-24 7:25 ` Georg Bauhaus
2010-06-23 14:38 ` Robert A Duff
2010-06-23 15:17 ` J-P. Rosen
2010-06-23 17:17 ` Robert A Duff
2010-06-24 6:16 ` J-P. Rosen
2010-06-23 12:13 ` Niklas Holsti
2010-06-23 14:27 ` Peter C. Chapin
2010-06-23 20:24 ` Niklas Holsti
2010-06-23 16:33 ` Warren
2010-06-23 17:49 ` Dmitry A. Kazakov
2010-06-23 18:45 ` Warren [this message]
2010-06-23 20:39 ` Niklas Holsti
2010-06-28 13:44 ` Warren
2010-06-28 22:18 ` Niklas Holsti
2010-06-29 1:49 ` Adam Beneschan
2010-06-29 2:10 ` (see below)
2010-06-29 16:56 ` Warren
2010-06-29 17:50 ` John B. Matthews
2010-06-29 19:31 ` Warren
2010-06-29 20:06 ` Jeffrey R. Carter
2010-06-29 20:16 ` Warren
2010-06-29 20:22 ` Adam Beneschan
2010-06-29 20:39 ` Dmitry A. Kazakov
2010-06-29 20:55 ` Warren
2010-06-29 21:00 ` Warren
2010-06-29 21:47 ` John B. Matthews
2010-06-29 21:52 ` Damien Carbonne
2010-06-29 22:22 ` Adam Beneschan
2010-06-30 16:43 ` Warren
2010-06-29 21:18 ` Jeffrey R. Carter
2010-06-30 5:01 ` Simon Wright
2010-06-30 14:29 ` Adam Beneschan
2010-06-29 20:28 ` Damien Carbonne
2010-06-29 21:20 ` John B. Matthews
2010-06-23 13:12 ` Gautier write-only
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox