TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
Samuel Mize <[log in to unmask]>
Wed, 25 Nov 1998 15:55:47 -0500
"Robert I. Eachus" <[log in to unmask]>
"Robert I. Eachus" <[log in to unmask]>
text/plain; charset="us-ascii"
text/plain (32 lines)
At 08:35 AM 11/25/98 -0600, Samuel Mize wrote:
>>    No problem with that.  I was just saying that I thought too many
>> restrictions were getting rolled into one pragma.

>I now think we basically agree.  I found your response to be useful
>and well thought out.  Thanks for helping me understand what you meant.

   I think you are begining to see the forest containing the trees.  Matt's
response may have been a little rough in tone, but now that you have
separated out your concerns, I think you can see where he is coming from.
Some of your
ideas are already forced/enforced by Ada 95, and others are really detailed
design decisions.  It may help begining Ada students to tell them to only
declare one type per package, but they are later going to have to unlearn
that, and learn how to determine which types belong in the same package.
(And which types don't.)

    If you look through the Ada 95 Reference Manual, you will find many
packages that have one basic type and several "helper" type declarations.
For example Ada.Text_IO has four types:  File_Type, the basic type, and
File_Mode, Count, and Type_Set all helper types.  Package Ada.Finalization
is AFIAK, the only RM package that has two "unrelated" basic tagged types
in it.  Would I change it if I could?  No.  Of course, Standard has the
most type declarations, and the most unrelated type declarations of any
package in the standard.

                                        Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...