comp.lang.ada
 help / color / mirror / Atom feed
From: micro_ada@my-dejanews.com
Subject: Re: Wanted: Ada STL. Reward: Ada's Future
Date: 1999/02/09
Date: 1999-02-09T00:00:00+00:00	[thread overview]
Message-ID: <79pheo$7cf$1@nnrp1.dejanews.com> (raw)
In-Reply-To: 36BAEEA5.A01CACEA@bton.ac.uk

In article <36BAEEA5.A01CACEA@bton.ac.uk>,
  John English <je@bton.ac.uk> 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    




  reply	other threads:[~1999-02-09  0:00 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-01-31  0:00 Wanted: Ada STL. Reward: Ada's Future Alexy V Khrabrov
1999-01-31  0:00 ` Simon Wright
1999-02-01  0:00 ` dennison
1999-02-01  0:00 ` Jerry van Dijk
1999-02-01  0:00   ` Marin David Condic
1999-02-01  0:00 ` Stanley R. Allen
1999-02-01  0:00 ` Brian Rogoff
1999-02-01  0:00   ` Ehud Lamm
1999-02-02  0:00     ` Pointer Arithmetic (was: Wanted: Ada STL....) adam
1999-02-02  0:00       ` William Clodius
1999-02-03  0:00         ` adam
1999-02-03  0:00           ` robert_dewar
1999-02-03  0:00             ` Jean-Pierre Rosen
1999-02-03  0:00           ` William Clodius
1999-02-03  0:00           ` Nick Roberts
1999-02-03  0:00       ` robert_dewar
1999-02-03  0:00       ` Nick Roberts
1999-02-03  0:00         ` robert_dewar
1999-02-03  0:00           ` Robert A Duff
1999-02-02  0:00     ` Wanted: Ada STL. Reward: Ada's Future Brian Rogoff
1999-02-02  0:00       ` robert_dewar
1999-02-04  0:00         ` Ehud Lamm
1999-02-03  0:00       ` John English
1999-02-03  0:00         ` Matthew Heaney
1999-02-03  0:00           ` Brian Rogoff
1999-02-04  0:00             ` Stephen Leake
1999-02-04  0:00               ` Hyman Rosen
1999-02-05  0:00                 ` Stephen Leake
1999-02-05  0:00                   ` Hyman Rosen
1999-02-04  0:00               ` Matthew Heaney
1999-02-04  0:00               ` Brian Rogoff
1999-02-05  0:00                 ` Stephen Leake
1999-02-05  0:00                   ` Brian Rogoff
1999-02-05  0:00               ` John English
1999-02-05  0:00                 ` Tucker Taft
1999-02-05  0:00                   ` Richard D Riehle
1999-02-05  0:00                   ` Brian Rogoff
1999-02-05  0:00                 ` Brian Rogoff
1999-02-06  0:00                   ` Matthew Heaney
1999-02-05  0:00           ` John English
1999-02-05  0:00           ` Nick Roberts
1999-02-04  0:00         ` Ehud Lamm
1999-02-04  0:00           ` Brian Rogoff
1999-02-05  0:00             ` Matthew Heaney
1999-02-05  0:00               ` Brian Rogoff
1999-02-08  0:00                 ` John English
1999-02-04  0:00           ` Pat Rogers
1999-02-04  0:00             ` Larry Kilgallen
1999-02-04  0:00               ` Pat Rogers
1999-02-04  0:00                 ` Larry Kilgallen
1999-02-05  0:00                   ` robert_dewar
1999-02-05  0:00                     ` Tom Moran
1999-02-05  0:00                       ` dewar
1999-02-05  0:00                         ` Tom Moran
1999-02-05  0:00                           ` dewar
1999-02-05  0:00                             ` dennison
1999-02-06  0:00                               ` dewar
1999-02-08  0:00                                 ` dennison
1999-02-08  0:00                                   ` robert_dewar
1999-02-08  0:00                                     ` dennison
1999-02-09  0:00                                       ` robert_dewar
1999-02-09  0:00                                         ` dennison
1999-02-09  0:00                                     ` Nick Roberts
1999-02-07  0:00                               ` Simon Wright
1999-02-08  0:00                               ` Corey Minyard
1999-02-08  0:00                                 ` Open Source Licensing (was: Wanted: Ada STL. Reward: Ada's Future) dennison
1999-02-08  0:00                                   ` Corey Minyard
1999-02-09  0:00                                     ` dennison
1999-02-09  0:00                                       ` Corey Minyard
1999-02-09  0:00                                     ` robert_dewar
1999-02-09  0:00                                       ` Corey Minyard
1999-02-09  0:00                                 ` Wanted: Ada STL. Reward: Ada's Future robert_dewar
1999-02-09  0:00                                   ` dennison
1999-02-10  0:00                                     ` robert_dewar
1999-02-07  0:00                           ` Simon Wright
1999-02-05  0:00                     ` Larry Kilgallen
     [not found]                     ` <36ba730b.35540068@ <79fmg1$fn0$1@nnrp1.dejanews.com>
1999-02-06  0:00                       ` Larry Kilgallen
1999-02-05  0:00                 ` robert_dewar
1999-02-05  0:00               ` robert_dewar
1999-02-05  0:00                 ` Larry Kilgallen
1999-02-05  0:00                   ` robert_dewar
     [not found]                     ` <79f24e$t14 <36BB4162.52FC6D9F@averstar.com>
1999-02-05  0:00                       ` robert_dewar
1999-02-05  0:00                       ` dennison
1999-02-05  0:00                     ` Tucker Taft
1999-02-05  0:00                     ` dennison
1999-02-05  0:00                       ` robert_dewar
1999-02-05  0:00                         ` dennison
1999-02-06  0:00                       ` Nick Roberts
1999-02-04  0:00           ` Al Christians
1999-02-05  0:00           ` John English
1999-02-09  0:00             ` micro_ada [this message]
1999-02-05  0:00         ` Nick Roberts
1999-02-08  0:00           ` John English
1999-02-02  0:00     ` Richard D Riehle
1999-02-03  0:00       ` robert_dewar
1999-02-01  0:00 ` Matthew Heaney
1999-02-01  0:00   ` Alexy V Khrabrov
1999-02-01  0:00     ` Matthew Heaney
1999-02-01  0:00       ` Jeff Carter
1999-02-01  0:00 ` Jeff Carter
1999-02-08  0:00   ` Michael F Brenner
1999-02-05  0:00 ` Corey Minyard
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox