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 X-Google-Thread: 103376,63a41ccea0fc803a X-Google-Attributes: gid103376,public From: Brian Rogoff Subject: Re: Naming of Tagged Types and Associated Packages Date: 1998/08/04 Message-ID: #1/1 X-Deja-AN: 377861496 Content-Transfer-Encoding: QUOTED-PRINTABLE References: <6pi0pf$df8$1@nnrp1.dejanews.com> <6pirk1$iar$1@nnrp1.dejanews.com> <6pknai$qst$1@nnrp1.dejanews.com> <6pl5rh$elr$1@nnrp1.dejanews.com> <35BF50B4.6FDCDDA0@west.raytheon.com> <6q6h7l$t7l$1@platane.wanadoo.fr> Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: 902247828 15361 bpr 206.184.139.132 Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-08-04T00:00:00+00:00 List-Id: On Tue, 4 Aug 1998, Jean-Pierre Rosen wrote: > Matthew Heaney a =E9crit dans le message ... > >A package name is not a type name, because a package is not a type. A > >package is a namespace, and it exists only (more or less) to prevent > >name clashes among identically named types. > > > This is absolutely true from the point of view of the *language > definition*. However, you *use* it to form higher level abstractions. > It then becomes that higher level abstraction. > For example, a paint is just a chemical product with peculiar optical > properties, but when used in a certain way, it becomes the Joconde... >=20 > A package used in a certain way makes up a class (in classical OO mode). > When used otherwise, it may become something else, and I 100% agree that > different conventions might then be preferable. Just a small point, which I'm sure Jean-Pierre understands, a class, in=20 classical OO mode, is neither a package, nor a type, but combines elements= =20 of both. I think its just as correct, maybe more :-), to say that a tagged type used a certain way makes up a class. By "classical OO" here I mean=20 Eiffel style OO in which every module is a type.=20 -- Brian