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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c39ad3e35a7690a9 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.68.231.202 with SMTP id ti10mr9858545pbc.5.1329142832148; Mon, 13 Feb 2012 06:20:32 -0800 (PST) Path: wr5ni20283pbc.0!nntp.google.com!news2.google.com!goblin3!goblin.stu.neva.ru!usenet.pasdenom.info!aioe.org!.POSTED!not-for-mail From: =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= Newsgroups: comp.lang.ada Subject: Re: Convention for naming of packages Date: Mon, 13 Feb 2012 15:20:30 +0100 Organization: Ada @ Home Message-ID: References: <4f355230$0$21451$ba4acef3@reader.news.orange.fr> <1sx3fy79wys5s.1723nejowbg76.dlg@40tude.net> <15fgcngmgl41e$.113i7gtuwpwpv$.dlg@40tude.net> <12sbwz7m0r1qx.1pbp0ox3jr36s.dlg@40tude.net> NNTP-Posting-Host: TqfFTdzi95I8zBbbKWTz3Q.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/11.61 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable Date: 2012-02-13T15:20:30+01:00 List-Id: Le Mon, 13 Feb 2012 14:19:58 +0100, Dmitry A. Kazakov = a =C3=A9crit: >> On the contrary, that's exactly what an abstract name do. > > Abstract to what? In first place it should abstract the context of usa= ge. The role of something in the structure it belongs to, is not the same as= = the role it may be given in a use case. Ex. A file may be a source, a destination, a backup support, a memory = auxiliary, and so on. In the package defining the file, to me, the type = is = just the type of the thing defined by the package. A package defines either, a domain, some relationships, a process, an = object type (at least to me), possibly some other high level concepts to= o. = Let talk about a package defining an object, to keep one single example.= = An object type has methods for creation; you name it Create, not = Create_XXXX_Type. A type has an instance type, I name it Instance_Type, = = not XXXX_Type; similarly, if it's tagged, I will systematically define a= = Class_Type. Some type may be named Element_Type, because that is their = role if the package defines a container object. That Element_Type may be= a = Symbol_Type in some contexts. The role in a structure in not the same as the role given in a use=E2=80= =91case or = larger structure. The example with Element_Type which may be a Symbol_Type in some context= , = explains why I said this may be compared to genericity. Static genericity seems adopted without too much objections in the =E2=80= =9Ccrowd=E2=80=9D = of Ada application authors. > Does your name depend on where you are? In formal terms, my name is not a name, it's an identifier (although not= = strictly unique in practice, as some name+surname pairs may be homonyms)= . -- = =E2=80=9CSyntactic sugar causes cancer of the semi-colons.=E2=80=9D [1] =E2=80=9CStructured Programming supports the law of the excluded muddle.= =E2=80=9D [1] [1]: Epigrams on Programming =E2=80=94 Alan J. =E2=80=94 P. Yale Univers= ity