comp.lang.ada
 help / color / mirror / Atom feed
From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Wanted: Ada STL.  Reward: Ada's Future
Date: 1999/02/01
Date: 1999-02-01T00:00:00+00:00	[thread overview]
Message-ID: <m3n22z6ifj.fsf@mheaney.ni.net> (raw)
In-Reply-To: 790f4q$3l@bgtnsc01.worldnet.att.net

"Alexy V Khrabrov" <khrabrov.a@worldnet.att.net> writes:

> I did found the Booch Components, fortunately picked up after David Weller
> gave them up, but they don't even have sets, for Pete's sake!  Yet for
> anything simple, you need sets the first thing in the morning.  I need them
> for clustering.  Students need them for the beaten to death students/courses
> problem.  Everybody needs sets.  Where do you get them in Ada 95?


On the contrary, a set is next-to-useless as a collection abstraction in
any real program.

A set is an unordered collection without duplicates.  The problem with a
set is that when you add an item to the set, you have to check the
entire set to make sure that the item isn't already in the set.

That's fine if that's the behavior you want.  However, it has been my
personal experience that this is not the abstraction you require.

Typically, all you need is an abstraction for an unordered collection.
When you add an item to the collection, it puts (a copy of) the item in
the collection, without any checks.

The problem with many data structure texts is that they omit any
discussion of this important abstraction.  And so everyone goes through
life thinking that a set (or multiset) is the only kind of unordered
collection that exists.

In my work on the ACL (which I suspended until gnat 3.11p came out: it
wouldn't compile otherwise), I call this kind of abstraction a
"container."  There is only a minimal set of operations on a Container
type:

o add an item to the container

o iterate over items in the container

o remove the item currently designated by an (active) iterator


The first thing in the morning you need a Container, not a Set.




  parent reply	other threads:[~1999-02-01  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 ` Jeff Carter
1999-02-08  0:00   ` Michael F Brenner
1999-02-01  0:00 ` Matthew Heaney [this message]
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 ` Brian Rogoff
1999-02-01  0:00   ` Ehud Lamm
1999-02-02  0:00     ` Richard D Riehle
1999-02-03  0:00       ` robert_dewar
1999-02-02  0:00     ` 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                 ` Brian Rogoff
1999-02-06  0:00                   ` Matthew Heaney
1999-02-05  0:00                 ` Tucker Taft
1999-02-05  0:00                   ` Brian Rogoff
1999-02-05  0:00                   ` Richard D Riehle
1999-02-05  0:00           ` Nick Roberts
1999-02-05  0:00           ` John English
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
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-05  0:00                     ` Tucker Taft
     [not found]                     ` <79f24e$t14 <36BB4162.52FC6D9F@averstar.com>
1999-02-05  0:00                       ` robert_dewar
1999-02-05  0:00                       ` dennison
1999-02-04  0:00           ` Al Christians
1999-02-05  0:00           ` John English
1999-02-09  0:00             ` micro_ada
1999-02-05  0:00         ` Nick Roberts
1999-02-08  0:00           ` John English
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           ` Nick Roberts
1999-02-03  0:00           ` William Clodius
1999-02-03  0:00           ` robert_dewar
1999-02-03  0:00             ` Jean-Pierre Rosen
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-01  0:00 ` Wanted: Ada STL. Reward: Ada's Future Stanley R. Allen
1999-02-01  0:00 ` dennison
1999-02-01  0:00 ` Jerry van Dijk
1999-02-01  0:00   ` Marin David Condic
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