comp.lang.ada
 help / color / mirror / Atom feed
From: "Pat Rogers" <progers@NOclasswideSPAM.com>
Subject: Re: Why both "with" and "use"?
Date: 1999/02/14
Date: 1999-02-14T00:00:00+00:00	[thread overview]
Message-ID: <7a6jho$nkv$1@remarQ.com> (raw)
In-Reply-To: m3ogmxuctb.fsf@mheaney.ni.net

Matthew Heaney wrote in message ...
>"Pat Rogers" <progers@NOclasswideSPAM.com> writes:
>
>> A package serves more of a central purpose in Ada 95, especially
when
>> it exports a tagged type declaration.
>>
>> The big difference (or, at least one difference) between Java
packages
>> and Ada packages is that the combination of an Ada package and a
>> private type defines an Abstract Data Type.
>
>I wouldn't quite phrase it that way.  With respect to the declaration
of
>a type (and I mean _any_ kind of type, not just ADTs), the package in
>which the type is declared serves to demarcate, among all the
operations
>in the universe that can take objects of that type as a parameter or
>return value, those operations that are "primitive" for the type.

Yes, I believe that is what I said (in a part you've snipped).

>Perhaps I am being pedantic, but I don't regard a package as part of
a
>type.  I regard the type as its name, values, and (primitive)
>operations.  The package is just syntactic overhead necessary to
>identify the primitive operations, but the package itself is not part
of
>the type.


Yes, the package isn't part of the type itself, but let's go back for
a moment to the definition I gave of an ADT: "a set of legal
operations (the "primitives") and legal values, and little else."  It
is the "little else" that packages provide, and IMHO and ADT without
that aspect is not an ADT.  We're in agreement overall, of course, but
I think it is important to stress that, in addition to the demarcation
of the primitives, as you've said above, the encapsulation of the
type's representation is an essential aspect of an ADT.  Without
packages, we have no encapsulation, no information hiding.

---
Pat Rogers                          Training & Development in:
http://www.classwide.com    Deadline Schedulability Analysis
progers@acm.org                 Software Fault Tolerance
(281)648-3165                       Real-Time/OO Languages






  parent reply	other threads:[~1999-02-14  0:00 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-13  0:00 Why both "with" and "use"? Mike Silva
1999-02-13  0:00 ` Corey Minyard
1999-02-13  0:00   ` Matthew Heaney
1999-02-13  0:00     ` bill
1999-02-14  0:00       ` dewar
1999-02-14  0:00       ` dewar
1999-02-14  0:00       ` Matthew Heaney
1999-02-13  0:00     ` Tom Moran
1999-02-14  0:00       ` Matthew Heaney
1999-02-16  0:00     ` Samuel Mize
1999-02-17  0:00       ` Jean-Pierre Rosen
1999-02-17  0:00       ` dennison
1999-02-17  0:00         ` Samuel Mize
1999-02-17  0:00         ` Nick Roberts
1999-02-17  0:00       ` Matthew Heaney
1999-02-17  0:00       ` Jean-Pierre Rosen
1999-02-18  0:00         ` robert_dewar
1999-02-18  0:00           ` Jean-Pierre Rosen
1999-02-18  0:00             ` robert_dewar
1999-02-19  0:00               ` Jean-Pierre Rosen
1999-02-18  0:00         ` dennison
1999-02-18  0:00           ` robert_dewar
1999-02-19  0:00             ` bourguet
1999-02-19  0:00               ` robert_dewar
1999-02-19  0:00             ` Robert I. Eachus
1999-02-19  0:00               ` Brian Hanson
1999-02-19  0:00                 ` robert_dewar
1999-02-19  0:00               ` robert_dewar
1999-02-23  0:00                 ` Robert I. Eachus
1999-02-19  0:00             ` dennison
1999-02-19  0:00           ` Matthew Heaney
1999-02-19  0:00             ` dennison
1999-02-19  0:00               ` robert_dewar
1999-02-19  0:00                 ` dennison
1999-02-19  0:00                   ` robert_dewar
1999-02-19  0:00                 ` Ada multiple string personalities. why so many? mike
1999-02-19  0:00                   ` Tom Moran
1999-02-19  0:00                     ` Mike Silva
1999-02-22  0:00                       ` Brian Hanson
1999-02-19  0:00                   ` robert_dewar
1999-02-13  0:00   ` Why both "with" and "use"? mike
1999-02-13  0:00 ` Pat Rogers
1999-02-13  0:00   ` bill
1999-02-13  0:00     ` Matthew Heaney
1999-02-13  0:00     ` Pat Rogers
1999-02-13  0:00       ` Matthew Heaney
1999-02-13  0:00         ` bill
1999-02-14  0:00         ` Pat Rogers [this message]
1999-02-14  0:00           ` Bob Collins
1999-02-14  0:00             ` Pat Rogers
1999-02-16  0:00         ` Samuel Mize
1999-02-15  0:00     ` Jean-Pierre Rosen
1999-02-15  0:00       ` Ed Falis
1999-02-16  0:00         ` Jean-Pierre Rosen
1999-02-15  0:00 ` Jean-Pierre Rosen
replies disabled

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