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: micro_ada@my-dejanews.com Subject: Re: Wanted: Ada STL. Reward: Ada's Future Date: 1999/02/09 Message-ID: <79pheo$7cf$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 442389745 References: <790f4q$3l@bgtnsc01.worldnet.att.net> <36B856E4.D921C1D@bton.ac.uk> <36BAEEA5.A01CACEA@bton.ac.uk> X-Http-Proxy: 1.0 cache-kc:3128 (Squid/1.1.22), 1.0 x5.dejanews.com:80 (Squid/1.1.22) for client 209.144.49.216, 209.186.240.18 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Tue Feb 09 14:41:29 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-02-09T00:00:00+00:00 List-Id: In article <36BAEEA5.A01CACEA@bton.ac.uk>, John English wrote: > Ehud Lamm wrote: > > If I understood the original question on this thred - it was about SOME > > libray LIKE the C++ STL for Ada. Supplying things like sets and lists. We > > started by dicussing which of these featurees are really needed, but soon > > slipped to discussing proting the STL. We somehow missed the obvious > > question which is "Can we do something better or functionally equivalent, > > but different - in Ada." > > Don't forget the algorithms that the STL provides. Data structures would > be nice to have, but I don't want to have to (re)write algorithms to > sort/search/count/permute/partition those data structures. "A Systematic Catalogue of Reusable Abstract Data Types" by Jurgen Uhl and Hans Albrecht Schmid (1990, Springer-Verlag, ISBN 0-387-53229-3) provides a useful general strategy. However, concrete information is presented as Ada + macro language specifications which are expressly copyrighted by the authors but with no mention of licensing terms. I have not bothered to investigate licensing terms of their software interfaces because I don't have their implementations. And the only point I wish to make concerning licensing issues for an Ada standard generic library is that its' public interface must be non-proprietary and unquestionably open to access from the entire Ada community. Their Ada 87 design needs to be updated to use Ada 95 object-oriented features or improved generics. They used generics to simulate Ada 95-like abstract types, and "variant parameter" macros to simulate Ada 95-like generic parameters. A cpp macro preprocessor produced various Ada compilation units. The authors compare the pros and cons of using Ada versus C++ circa 1990. The structure of their catalogue is a hierarchy of building blocks, where higher level data types partially inherit operations from lower level ones. Unique features include: 1) A three level hierarchy of building blocks. The low level is the Ada array and access types. The middle level is the linked collection, tabular collection, and hash table types. The high level is intended for the general user and supports list, stack, queue/deque (double ended queue), tree, order, set, map, and bag types. The functional behavior is defined by these high level abstract data types, which have a standardized interface across all data types. Each high level abstract data type has on the order of a thousand different implementations to be accessed from one uniform interface. Thus a clear and strict separation is made between functional aspects and performance efficiency aspects. 2) Reuse within reuse for the library maintainer because every data representation and access algorithm is implemented only once but available for every suitable abstract data type. Additionally a user enjoys flexibility to select the most general abstract data type suitable and stepwise refine among variants for performance reasons. Later, the user may readily switch to a more capable general abstract data type if the requirements change drastically enough. -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own