From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_GMAIL_RCVD, FREEMAIL_FROM autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5f5a48f21d7f7525 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!newsfeed.straub-nv.de!eternal-september.org!.POSTED!not-for-mail From: Warren Newsgroups: comp.lang.ada Subject: Re: Inferring array index type from array object Date: Wed, 23 Jun 2010 18:45:04 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <6b20ed09-efc1-4df7-90f9-5e141482e8d0@d37g2000yqm.googlegroups.com> <1305oqccr1h2t$.x33x4oxwd84d$.dlg@40tude.net> <88ec2vF3uqU1@mid.individual.net> Injection-Date: Wed, 23 Jun 2010 18:45:04 +0000 (UTC) Injection-Info: mx01.eternal-september.org; posting-host="9f8M0iN5t54V+4DF/iqO8g"; logging-data="810"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+lpZ+6v54zLPRHY6g6bQXsBa1EGk7ENYg=" User-Agent: Xnews/5.04.25 X-Face: &6@]C2>ZS=NM|HE-^zWuryN#Z/2_.s9E|G&~DRi|sav9{E}XQJb*\_>=a5"q]\%A;5}LKP][1mA{gZ,Q!j Cancel-Lock: sha1:6B7qcJvz01LRz7Q7qo7qSOeiGiY= Xref: g2news1.google.com comp.lang.ada:11899 Date: 2010-06-23T18:45:04+00:00 List-Id: 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