TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Proportional Font
Show HTML Part by Default
Condense Mail Headers

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

Print Reply
Mime-Version: 1.0
Sender: "Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
X-To: Mark Lundquist <[log in to unmask]>
Date: Thu, 12 Nov 1998 17:46:47 -0500
Reply-To: "Robert I. Eachus" <[log in to unmask]>
From: "Robert I. Eachus" <[log in to unmask]>
X-cc: "Robert I. Eachus" <[log in to unmask]>
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset="us-ascii"
Parts/Attachments: text/plain (28 lines)
At 01:12 PM 11/12/98 -0800, Mark Lundquist wrote:
>> Adding special notation for declaring classes in Ada would have created
>         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> either some unnecessary restrictions or backward compatibility problems.
>
>Yes -- that is the position I was taking.  My use of the phrase "special
>class construct" is to be understood as identical with your phrase
>"special notation for declaring classes".

   Okay.  If you regard "a package specification containing a single tagged
type declaration and declarations of operations on that type," as equivalent
to a class in other languages, you could consider that as a special class
construct.  But part of my point was that having a "special notation" would
have eliminated the possibility of defining several classes/tagged types
in the same package. Because of this--and the 'Class operation you can
create classes that are closely intertwined.  (It would be nice to be able
to easily create such mutually interdependent types in different packages,
but that is a different discussion.) Of course, there is a rule preventing
operations from being dispatching operation of more than one tagged type,
but that is needed for
other reasons.

                                        Robert I. Eachus

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

ATOM RSS1 RSS2