From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,6cb2525ffbfe23ce X-Google-Attributes: gid103376,public From: Matthew Heaney Subject: Re: Why both "with" and "use"? Date: 1999/02/13 Message-ID: #1/1 X-Deja-AN: 444100812 Sender: matt@mheaney.ni.net References: <36C5B28C.F32C43A4@jps.net> <7a4f85$rh1$1@remarQ.com> <7a4j3h$64e@drn.newsguy.com> <7a4pem$qlc$1@remarQ.com> NNTP-Posting-Date: Sat, 13 Feb 1999 15:00:21 PDT Newsgroups: comp.lang.ada Date: 1999-02-13T00:00:00+00:00 List-Id: "Pat Rogers" 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. 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. When they give me a bag at the supermarket to hold my groceries, it's the groceries that I am interested in, not the bag. If I were to make a list of the things I picked up at the store, I probably wouldn't include the bag in that list.