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.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,a81d7835683dac7b X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-03 19:17:35 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sn-xit-03!sn-xit-04!sn-xit-01!sn-post-01!supernews.com!corp.supernews.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Bases for the Design of a Standard Container Library for Ada Date: Wed, 3 Sep 2003 21:19:33 -0500 Organization: Posted via Supernews, http://www.supernews.com Message-ID: References: <4a4de33a.0309021059.53f71234@posting.google.com> X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 X-Complaints-To: abuse@supernews.com Xref: archiver1.google.com comp.lang.ada:42124 Date: 2003-09-03T21:19:33-05:00 List-Id: "M�rio Amado Alves" wrote in message news:4a4de33a.0309021059.53f71234@posting.google.com... > I'm submiting this document to the Ada community as a request for > comments: > > BASES FOR THE DESIGN OF A STANDARD CONTAINER LIBRARY FOR ADA What's missing in this document is a discussion of what the library is trying to accomplish. You really have to have that before you can even talk about other requirements. If I was writing such a purpose statement, I would come up with something like: "The library is intended to provide a standard set of building blocks to make it easier and faster to create the non-critical parts of applications." Once a purpose statement is agreed to, you can evaluate technical requirements based on it. For instance, my purpose statement would allow drawing the following conclusions: -- Ease of use is paramount. There should be as few instantiations and other complications as possible. (Ideally, exactly one, simple instantiation.) -- "Non-critical" means that multiple versions of a component tailored for specific patterns of use are not needed. When performance is critical, the standard library is not intended to be used. (Build your own data structures.) Note, however, that performance is rarely critical, so this won't make much difference in practice. -- Similarly, concurrency protection isn't needed. (But any standard library in Ada has to work from multiple tasks as long as the objects are disjoint.) And so on. I don't want to impose my statement on the process; it's just an example. But I think we need such a statement with some level of agreement before anything else can be (or should be) said. (We do have to be careful of trying to make the standard library all things to all people. That isn't possible, and we shouldn't be encapsulating a load of complexity for that.) Randy Brukardt.