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,63a41ccea0fc803a X-Google-Attributes: gid103376,public From: Matthew Heaney Subject: Re: Naming of Tagged Types and Associated Packages Date: 1998/08/03 Message-ID: #1/1 X-Deja-AN: 377521572 Sender: matt@mheaney.ni.net References: <6pdhfo$1br$1@platane.wanadoo.fr> <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> <6q4eo7$van$1@nnrp1.dejanews.com> NNTP-Posting-Date: Mon, 03 Aug 1998 09:17:03 PDT Newsgroups: comp.lang.ada Date: 1998-08-03T00:00:00+00:00 List-Id: dennison@telepath.com writes: > No, its not the type name. But it is used as *part* of the type > name. Think of it as a family name. Just like "Romeo Montague" means > "Romeo of the family Montague", Configuration_IO.File means "File of > the package Configuration_IO". "The" type name or just "part" of the type name, I don't see any difference. You're giving me a personal model is what a type name is. Fair enough, that's your model. But I prefer to stick to the model in the RM. And in the RM, file types are all named File_Type. There is a reason. In a declaration, the object name and type name share a namespace. I think the intent was that object and type have different names. And by type "name" I mean without using expanded name notation. I don't think the intent was to use expanded name notation to resolve the namespace clash in an object declaration. Expanded name notation should be used only to qualify identically named types in the same scope. If the designers of the language had wanted you to name the object and type the same, then they would have specified the language so that object and type have different namespaces _automatically_. (This is indeed the choice Meyer made with Eiffel.) So you could do this: File : File; legally. But the Ada designers didn't do that.