comp.lang.ada
 help / color / mirror / Atom feed
From: James Rogers <jimmaureenrogers@worldnet.att.net>
Subject: Re: Container reqs
Date: Sun, 14 Oct 2001 22:52:25 GMT
Date: 2001-10-14T22:52:25+00:00	[thread overview]
Message-ID: <3BCA173D.FA305845@worldnet.att.net> (raw)
In-Reply-To: 9qctpn$lil$1@news.huji.ac.il



Ehud Lamm wrote:
> 
> Let's try to make a list of req the Ada community in general can agree on,
> and than see which of the existing libraries is closest and concentrate on
> that.
> 
> (the following are some suggestions)
> 
> * It seems there is a general agreement  to distinguish bouned from
> unbounded versions. This can be attributed to a more general
> (non-functional) req: the library should be applicable for RT

Bounded and unbounded distinctions are useful. Do we also want to 
specify that bounded versions are allocated on the stack while 
unbounded versions are dynamically allocated from some storage pool?
I believe this is what Dr. Lamm is suggesting. If so, I agree.

For the unbounded containers we may want versions allowing one to
designate the storage pool used.

> 
> * I want a library organised around ADT properties (like "sequential
> access", "set interface" etc) and not around implementations (doubly linked
> lists).
> [I think we should think of the best Ada apporach for connecting interfaces
> and implementations. I explored many of the possibilities, like signature
> packages, class-wide operations etc., and I am still looking for the best
> method]

This corresponds roughly with the approach taken by Java. It has
containers that implement various kinds of lists and sets. They are
organized by ADT properties and not by implementation details.

As far as an Ada approach for connecting interfaces, my first
impulse would be to define a set of abstract types for each 
category (i.e. sets and lists), then inherit from those types to
create the concrete and generic container classes.

> * From my experiens the item type is best accepted as a generic paramter (I
> say this, before anyone suggests and "Object" type, and we start fighting
> over MI)
> 
> * The library should offer Algortihms (in STL-speak): sorting, searching
> etc.

Again, this could be done using abstract types and generic parameters,
allowing a person to define the sorting, searching, etc. algorithm
for a particular instantiation of the container.

> * Standard iteration schemes over the various containers (I want both active
> and passive versions)
> 
> * Since I am thinking about using the library in education, I'd prefer to
> make isntantaion as easy as possible (possibly, by supplying
> pre-instantiated versiosn). I also prefer to hide the tagged nature of
> interface relationships from casual and first time users.
> 
> * Memory handling is important, but we don't want to have to do
> library-level instantaions beacuse of Controlled types.

Memory handling could be made somewhat transparent with the
careful use of storage pools.

Jim Rogers
Colorado Springs, Colorado USA



  parent reply	other threads:[~2001-10-14 22:52 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-14 20:46 Container reqs Ehud Lamm
2001-10-14 22:00 ` Larry Kilgallen
2001-10-15 20:04   ` Ehud Lamm
2001-10-16 15:19     ` Ted Dennison
2001-10-16 19:17     ` Darren New
2001-10-14 22:52 ` James Rogers [this message]
2001-10-15  1:22   ` Darren New
2001-10-15 20:06   ` Ehud Lamm
2001-10-16 18:29     ` Stephen Leake
2001-10-17  5:55     ` Simon Wright
2001-10-15 20:15   ` Ehud Lamm
2001-10-15  6:49 ` Jeffrey Carter
2001-10-16 15:25   ` Ted Dennison
2001-10-17 12:40     ` John English
2001-10-17 13:16       ` Ted Dennison
2001-10-18 15:26         ` John English
2001-10-18 16:02           ` Ted Dennison
2001-10-17 14:17       ` Ehud Lamm
2001-10-23  8:17         ` John English
2001-10-23 14:23           ` Ehud Lamm
2001-10-23 20:07             ` Stephen Leake
2001-10-23 20:46               ` Ehud Lamm
2001-10-23 20:50               ` Ted Dennison
2001-10-23 21:18                 ` Marin David Condic
2001-10-24  8:30                   ` Ehud Lamm
2001-10-24 14:08                     ` Marin David Condic
2001-10-25 20:10                       ` Ehud Lamm
2001-10-25 21:18                         ` Marin David Condic
2001-10-25 21:25                         ` Marin David Condic
2001-10-23 21:27                 ` Larry Hazel
2001-10-23 22:03                   ` Ehud Lamm
2001-10-15 14:27 ` Ted Dennison
2001-10-15 17:47   ` Darren New
2001-10-15 20:08   ` Ehud Lamm
2001-10-17  6:08     ` Simon Wright
2001-10-18 20:52       ` Ehud Lamm
2001-10-18 22:29         ` Jeffrey Carter
2001-10-19 12:10           ` Georg Bauhaus
2001-10-19 15:36           ` Stephen Leake
2001-10-19 14:53             ` Ehud Lamm
2001-10-20 11:10               ` Simon Wright
2001-10-21 18:17               ` Stephen Leake
2001-10-22 17:02                 ` Ehud Lamm
2001-10-22 17:34                   ` David Botton
2001-10-22 18:02                     ` Ehud Lamm
2001-10-20  2:44             ` Jeffrey Carter
2001-10-21 18:24               ` Stephen Leake
2001-10-23  1:13               ` Stephen Leake
2001-10-23  2:09                 ` Jeffrey Carter
2001-10-23 13:29                   ` Ted Dennison
2001-10-24  2:26                     ` Jeffrey Carter
2001-10-24 13:54                       ` Ted Dennison
2001-10-24 14:02                         ` Lutz Donnerhacke
2001-10-24 14:24                         ` Marin David Condic
2001-10-24 19:01                         ` Stephen Leake
2001-10-25  1:40                         ` Jeffrey Carter
2001-10-15 14:39 ` Lutz Donnerhacke
2001-10-15 15:36   ` Marin David Condic
2001-10-16 18:47     ` Stephen Leake
2001-10-16 19:18       ` Marin David Condic
2001-10-15 20:13   ` Ehud Lamm
2001-10-16  8:14     ` Lutz Donnerhacke
2001-10-16  8:50       ` Ehud Lamm
2001-10-16 10:12         ` Lutz Donnerhacke
2001-10-16  9:45   ` Jean-Marc Bourguet
2001-10-16 13:20     ` Ehud Lamm
2001-10-16 15:34       ` Ted Dennison
2001-10-16 18:49         ` Stephen Leake
2001-10-17  6:02         ` Simon Wright
2001-10-16 17:21     ` Jeffrey Carter
2001-10-16 18:57       ` Ted Dennison
2001-10-16 18:59       ` Stephen Leake
2001-10-16 19:38         ` Marin David Condic
2001-10-16 20:01           ` Larry Kilgallen
2001-10-16 20:19             ` Marin David Condic
2001-10-30  6:53           ` Barry Kelly
2001-10-30 14:53             ` Marin David Condic
2001-10-30 16:14             ` Jean-Marc Bourguet
2001-10-30 16:55               ` Marin David Condic
2001-10-31  6:37                 ` Simon Wright
2001-10-30 17:45             ` Stephen Leake
2001-10-16 22:12         ` Robert*
2001-10-17  7:09       ` Jean-Marc Bourguet
2001-10-17 13:36         ` Ted Dennison
2001-10-17 14:12           ` Jean-Marc Bourguet
2001-10-17 15:15             ` Ted Dennison
2001-10-17 16:32               ` Jean-Marc Bourguet
2001-10-17 16:49                 ` Ted Dennison
2001-10-17 16:55                   ` Ehud Lamm
2001-10-18  7:39                 ` Lutz Donnerhacke
2001-10-18  9:03                   ` Jean-Marc Bourguet
2001-10-18 17:25                     ` Jeffrey Carter
2001-10-18 20:09                       ` Lutz Donnerhacke
2001-10-18 22:35                         ` Jeffrey Carter
2001-10-19  8:44                           ` Lutz Donnerhacke
2001-10-20 11:14                             ` Simon Wright
2001-10-21 16:37                               ` Paul Duquennoy
2001-10-17 17:18         ` Jeffrey Carter
2001-10-18  8:59           ` Jean-Marc Bourguet
2001-10-18 19:42         ` Simon Wright
2001-10-18 20:55           ` Ehud Lamm
2001-10-22  6:46       ` Kenneth Almquist
2001-10-22  8:04         ` mike
2001-10-22  8:42           ` Lutz Donnerhacke
2001-10-22 16:30         ` Jeffrey Carter
2001-10-22 17:14           ` Ehud Lamm
2001-10-16 11:37 ` Jean-Marc Bourguet
2001-10-16 13:23   ` Ehud Lamm
2001-10-16 13:39     ` Jean-Marc Bourguet
2001-10-16 15:36     ` Vincent Marciante
2001-10-16 16:15       ` Pat Rogers
2001-10-16 19:04     ` Stephen Leake
2001-10-16 15:53   ` Ted Dennison
2001-10-16 15:58     ` Jean-Marc Bourguet
replies disabled

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