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.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC 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!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!news.osn.de!diablo2.news.osn.de!news.belwue.de!newsfeed.arcor.de!newsspool3.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Inferring array index type from array object Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <6b20ed09-efc1-4df7-90f9-5e141482e8d0@d37g2000yqm.googlegroups.com> <1305oqccr1h2t$.x33x4oxwd84d$.dlg@40tude.net> <88ec2vF3uqU1@mid.individual.net> Date: Wed, 23 Jun 2010 19:49:03 +0200 Message-ID: NNTP-Posting-Date: 23 Jun 2010 19:49:01 CEST NNTP-Posting-Host: 10118898.newsspool3.arcor-online.net X-Trace: DXC=RUVj24`KVlI2jYf>V4L0gLMcF=Q^Z^V3H4Fo<]lROoRA8kF 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. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de