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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,effb80d4bb7716dd X-Google-Attributes: gid103376,public From: Brian Rogoff Subject: Re: Wanted: Ada STL. Reward: Ada's Future Date: 1999/02/03 Message-ID: #1/1 X-Deja-AN: 440292176 References: <790f4q$3l@bgtnsc01.worldnet.att.net> <36B856E4.D921C1D@bton.ac.uk> Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: nntp1.ba.best.com 918070772 16691 bpr@206.184.139.136 MIME-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-02-03T00:00:00+00:00 List-Id: On Wed, 3 Feb 1999, Matthew Heaney wrote: > ... snip ... > > for Index in Map'Range loop > > > > end loop; > > If this looks simpler than my earlier formulation, that's because it's > simpler. Loop iteration in Ada is less error prone than in C. > > This is yet another reason why I think that looking at the STL as a > model for a standard Ada library is dangerous and misleading. Indeed. Just look at how incomprehensible AGL looping looks Os := Copy(Start(Deque'Access), Finish(Deque'Access), Os); or Pos := Find(Start(IVec'Access), Finish(IVec'Access), 42); The horror, the horror ... > The idioms in both languages are completely different. So forget about > the STL as a model for an Ada library. If you do your homework, you'll find that completely independently of C++ or the STL, Judy Bishop wrote a similar library for Ada 83 (trying to mimic CLU iterators), and it turns out to look remarkably similar to STL or AGL. See Bishop, J.M. et al. "The effect of data abstraction on loop programming techniques" IEEE TRANSACTIONS ON SOFTWARE ENGINEERING April 1990. vol.16, no.4, p. 389-402 (Journal Paper - English) (Note that some of Bishop's complaints about Ada no longer apply to Ada 95) So far, you've said nothing that indicates that you've looked seriously at the STL. Why don't you just get very specific and say exactly why you think it is a bad model for an Ada library, using examples? I think the idea of writing algorithms over collections in terms of their iterators is a good one. -- Brian