comp.lang.ada
 help / color / mirror / Atom feed
From: amado.alves@netcabo.pt (Mário Amado Alves)
Subject: Re: Bases 1.52
Date: 12 Sep 2003 03:58:17 -0700
Date: 2003-09-12T10:58:19+00:00	[thread overview]
Message-ID: <17eddf9f.0309120258.cd58f31@posting.google.com> (raw)
In-Reply-To: 1301057.xhkpTmYQhd@linux1.krischik.com

(I'm sorry if my replies are so delayed. Currently I have no news
server except Google.)

Martin Krischik <krischik@users.sourceforge.net> wrote in message news:<1301057.xhkpTmYQhd@linux1.krischik.com>...
> M�rio Amado Alves wrote:
> 
> > Martin Krischik wrote:
> >> 51   This parameter shall have the signature
> >>        type Element (<>) is private;
> >> 
> >> Why restrict to just one signature?
> >> 
> >> I have made very good experiences with containers based on:
> >> 
> >>    type Item (<>) is abstract tagged private;
> >> 
> >> This frees my applications from using heap memory when I need to store
> >> Item'Class instances....
> > 
> > I'm not sure about the memory management implications, but doesn't the
> > first signature include the second, in the sense that it accepts
> > tagged actuals?
> 
> Yes, but to my knowlege you cant say:
> 
> type Item'Class is private;

I don't follow. Do you mean the formal in 1.51 does not accept a class
wide actual? But it does.

But you're right in that the formal in 1.51 does not accept abstract
actuals. However I'm not sure about the usefulness--or even
legality--of a container of abstract elements. Note the Bases requires
"value semantics". Abstract types don't have values.

>...
> > Restricting to just one signature is simply to keep the library small.
> 
> Shure, but one often likes to store Strings or a decendant of a tagged type.
> With Strings one can use Unbounded_Strings but with tagged type on is lost.

Sorry, I don't see the problem.

> Besides, Sun did not keep the Java Library small. In fact the Java Library
> is huge. And Java is more successfull.
> 
> Or Python. The Python Library is huge and there are 2641 python project on
> source forge and ony 67 Ada projects. 

Do you mean the *containers* library?

Anyway, I think I'm ok with reformulating requirement 1.51 to just
"the library shall support containers of indefinite elements." This
covers class wide, and leaves open the decision for abstracts. However
we should check in the body of knowledge (or right here and now) if
there is consensus.

As for the library size, the tendency is to recommend a maximum of 50
lines per package spec. And the Bases requires Vectors, Lists and
Tables (maps), but leaves open the inclusion of others.

BTW, Bases 2 has been submited to the ARG.



  reply	other threads:[~2003-09-12 10:58 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-02 18:59 Bases for the Design of a Standard Container Library for Ada Mário Amado Alves
2003-09-03 20:30 ` Warren W. Gay VE3WWG
2003-09-03 21:07   ` David C. Hoos
2003-09-04  2:19 ` Randy Brukardt
2003-09-04 11:56   ` Mário Amado Alves
2003-09-05  3:55     ` Randy Brukardt
2003-09-05  5:17       ` Matthew Heaney
2003-09-05 11:45         ` Amado Alves
2003-09-05 19:40           ` Randy Brukardt
2003-09-05 15:10         ` Martin Krischik
2003-09-07 18:03           ` Matthew Heaney
2003-09-08 12:54             ` Mário Amado Alves
2003-09-08 17:02 ` Bases 1.57 Martin Krischik
2003-09-08 17:07 ` Bases 1.58 Martin Krischik
2003-09-09 16:37 ` Bases 1.52 Martin Krischik
2003-09-10  7:49   ` Mário Amado Alves
2003-09-11 15:03     ` Martin Krischik
2003-09-12 10:58       ` Mário Amado Alves [this message]
2003-09-12 13:05         ` Martin Dowie
2003-09-12 17:49           ` maximum number of lines per spec (was: Bases 1.52) Mário Amado Alves
2003-09-13 12:18             ` Marin David Condic
2003-09-12 15:36         ` Bases 1.52 Martin Krischik
2003-09-14  6:51       ` Matthew Heaney
2003-09-14 14:32         ` Martin Krischik
2003-09-14 18:22         ` Robert I. Eachus
2003-09-14 22:56           ` Nick Roberts
2003-09-15  0:17             ` Robert I. Eachus
2003-09-14  6:45   ` Matthew Heaney
replies disabled

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