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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: border1.nntp.dca.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!xlned.com!feeder1.xlned.com!npeer.de.kpn-eurorings.net!npeer-ng0.de.kpn-eurorings.net!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Sat, 14 Jun 2014 09:27:05 +0200 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: a new language, designed for safety ! References: <1402308235.2520.153.camel@pascal.home.net> <85ioo9yukk.fsf@stephe-leake.org> <9qednXOIGNDuLQXORVn_vwA@giganews.com> <1872904482424209024.314619laguest-archeia.com@nntp.aioe.org> <810507a4-427e-42bb-a468-e5939a4470db@googlegroups.com> <9qbfr6yf0gnb.182y1qs9eigz4$.dlg@40tude.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <539bf949$0$6667$9b4e6d93@newsspool3.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 14 Jun 2014 09:27:05 CEST NNTP-Posting-Host: 6b20b2b1.newsspool3.arcor-online.net X-Trace: DXC=?Gg_e:N5=2MX36K@\WTHGJMcF=Q^Z^V3H4Fo<]lROoRA8kFejVHJNo_2R6Oh[A4MW On 13/06/14 22:57, Robert A Duff wrote: > Yes, that's another example of the same language design principle. > There ought to be a way to write procedure Do_Something, such that > > Do_Something(Some_Array'Range); > > makes sense. Except it might as well be > > Do_Something(Some_Array.Range); > > or perhaps > > Do_Something(Range(Some_Array)); Doesn't this one-type based approach limit the "forall" access to the data to just one way? That is, why should arrays and *Range be tied in the array type's definition? Syntax_for_Connect (Data => Some_Array, Access => Some_Iterator, Process_Item => Do_Something); That still leaves unconsidered the case of picking pairs, e.g. Reduce.