comp.lang.ada
 help / color / mirror / Atom feed
From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: Convention for naming of packages
Date: Mon, 13 Feb 2012 19:10:41 +0100
Date: 2012-02-13T19:10:41+01:00	[thread overview]
Message-ID: <op.v9mp33z5ule2fv@douda-yannick> (raw)
In-Reply-To: vksekk10ezqz.nz09sg73riom$.dlg@40tude.net

Le Mon, 13 Feb 2012 18:19:16 +0100, Dmitry A. Kazakov  
<mailbox@dmitry-kazakov.de> a écrit:
> It is a quite uncommon use anyway. I mean to have a package of instances  
> of
> some types.
>
> But certainly if that happens the instance always have meaningful names
> rather than "Object". E.g.
>
> package Units.Base is
>    Current : constant Unit;
>    Luminescence : constant Unit;
>    Temperature : constant Unit;
>    ...
This is a good example, but still not a singleton, that's a specification,  
there is no need for an instantion here.

About package holding singleton really holding singleton, like say a Log  
package which would create a singleton file "Log.File" objct, I believe  
that's not good for re‑usability (ex. what about multiple task?). Better  
provide a type with a constructor, and if a file is to be shared between  
multiple "Log.Instance_Type" instance, then its up to the implementation  
to create allocate one and create association between the shared object  
and object created by users.

That's all small‑talks :-P

> I think that any thing worth a name can be named. If not, that is because
> some language deficiency.

I believe a language deficiency, if it really exist, always provide the  
filling of that deficiency first. I don't feel one here, even if I agree I  
may think the thing a different way with another language. A single thing  
is not a deficiency alone, it is a deficiency with respect to a whole. The  
whole seems rather Okay to me so far.

What lacks for me here, is some paper with in deep talks about naming  
convention in numerous ways. Most paper just talks about naming convention  
just as a quick overview. I see the deficiency here, not in the language  
(deficiency of culture of the language, not deficiency of the language).

>> The semantic may be thin, if the semantic is thin, then its  
>> specification
>> cannot be said too much thin for the sole reason it's thin.
>>
>> Element_Type would be Element + Type, as you say, and also what appears  
>> as
>> the second parameter of an Add method. Its presence as the second
>> parameter of Add defines what Element_Type is (not just its name  
>> “Element”
>> and its Type status in the Ada source text).
>
> It is a language deficiency here, namely the generics. If the type of the
> class (of the container type) could be properly typed, you would not need
> to have meaningless names in meaningless packages the only purpose of  
> which is meaningless instantiation.
I don't what kind of language construct you imagine, but I am pretty sure  
these construct would requires dedicated keywords somewhere, some keywords  
which would be the exact same as the names I am looking for.

Ada's reserved word "type", is not meaningless, it's an high level concept  
(so is obviously abstract). Or else I did not understand your words?

> But even with generics, it is another deficiency that the element type  
> (or
> the class of) cannot be asked from the container type it belongs to, as
> well as the type of the index and the type of sets of indices.
Seems you are wishing Introspection in Ada. Funny for someone who dislike  
languages which provides it ;-)

Will fall to the same comment as above anyway. Type would just play some  
of the roles of packages (not all roles, some roles), and you would need  
some way to refer to things. Here, you will be back to the need of some  
name to refer to it.

If a container type, named Container_Type can provide itself the type for  
its index. How can you refer to it, if not via some expression, like  
"Container_Type.Index_Type"?

Or else have you something different in mind? Could you write‑down a tiny  
example using pseudo‑code to make it clearer?

-- 
“Syntactic sugar causes cancer of the semi-colons.” [1]
“Structured Programming supports the law of the excluded muddle.” [1]
[1]: Epigrams on Programming — Alan J. — P. Yale University



  reply	other threads:[~2012-02-13 18:10 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09 21:10 Convention for naming of packages Yannick Duchêne (Hibou57)
2012-02-09 21:39 ` Jeffrey Carter
2012-02-10 15:07   ` Yannick Duchêne (Hibou57)
2012-02-10 17:04     ` Georg Bauhaus
2012-02-10 17:09     ` Georg Bauhaus
2012-02-10 17:41       ` Yannick Duchêne (Hibou57)
2012-02-13  9:33       ` Yannick Duchêne (Hibou57)
2012-02-11  0:56     ` Randy Brukardt
2012-02-13  3:09       ` BrianG
2012-02-10 17:21   ` Pascal Obry
2012-02-10 18:03     ` Yannick Duchêne (Hibou57)
2012-02-11  1:06     ` Randy Brukardt
2012-02-11  9:22       ` Simon Wright
2012-02-11 10:17         ` Yannick Duchêne (Hibou57)
2012-02-11 19:24           ` Yannick Duchêne (Hibou57)
2012-02-11 20:06             ` Simon Wright
2012-02-12  9:18               ` Yannick Duchêne (Hibou57)
2012-02-12 10:22                 ` Simon Wright
2012-02-13  9:21         ` Yannick Duchêne (Hibou57)
2012-02-12 19:53       ` J-P. Rosen
2012-02-12 21:19         ` Yannick Duchêne (Hibou57)
2012-02-13  8:53           ` Dmitry A. Kazakov
2012-02-13  9:12             ` Yannick Duchêne (Hibou57)
2012-02-13 11:03               ` Dmitry A. Kazakov
2012-02-13 11:57                 ` Yannick Duchêne (Hibou57)
2012-02-13 12:30                   ` Yannick Duchêne (Hibou57)
2012-02-13 13:07                     ` Dmitry A. Kazakov
2012-02-13 14:01                       ` Yannick Duchêne (Hibou57)
2012-02-13 14:59                         ` Dmitry A. Kazakov
2012-02-13 15:05                           ` Yannick Duchêne (Hibou57)
2012-02-13 15:23                             ` Dmitry A. Kazakov
2012-02-14 21:02                               ` Yannick Duchêne (Hibou57)
2012-02-13 13:01                   ` Dmitry A. Kazakov
2012-02-13 13:04                     ` Yannick Duchêne (Hibou57)
2012-02-13 13:19                       ` Dmitry A. Kazakov
2012-02-13 14:20                         ` Yannick Duchêne (Hibou57)
2012-02-13 15:11                           ` Dmitry A. Kazakov
2012-02-13 16:24                             ` Yannick Duchêne (Hibou57)
2012-02-13 17:19                               ` Dmitry A. Kazakov
2012-02-13 18:10                                 ` Yannick Duchêne (Hibou57) [this message]
2012-02-13 21:02                                   ` Dmitry A. Kazakov
2012-02-14  9:08                                     ` Yannick Duchêne (Hibou57)
2012-02-14 13:33                                       ` Dmitry A. Kazakov
2012-02-14 14:40                                         ` Yannick Duchêne (Hibou57)
2012-02-14 15:26                                           ` Dmitry A. Kazakov
2012-02-13 10:45             ` Georg Bauhaus
2012-02-13 10:59               ` Yannick Duchêne (Hibou57)
2012-02-14 10:18           ` Yannick Duchêne (Hibou57)
2012-02-14 11:51             ` Yannick Duchêne (Hibou57)
2012-02-14 22:21               ` Manuel Collado
2012-02-15  4:09                 ` Simon Wright
2012-02-15  6:13                   ` Niklas Holsti
2012-02-15 11:26                     ` Yannick Duchêne (Hibou57)
2012-02-15 11:39                     ` Georg Bauhaus
2012-02-15 11:47                       ` Georg Bauhaus
2012-02-15  6:30                   ` J-P. Rosen
2012-02-15  8:36                     ` Simon Wright
2012-02-15 22:56                     ` Robert A Duff
2012-02-15 11:27                   ` Yannick Duchêne (Hibou57)
2012-02-15 11:43                     ` Georg Bauhaus
2012-02-15 12:33                       ` Georg Bauhaus
2012-02-15 12:55                         ` Yannick Duchêne (Hibou57)
2012-02-15 17:30                           ` Georg Bauhaus
2012-02-09 22:33 ` Simon Wright
2012-02-09 22:35 ` J-P. Rosen
2012-02-10 14:38   ` Yannick Duchêne (Hibou57)
2012-02-10  9:47 ` Mart van de Wege
2012-02-10 14:24   ` Yannick Duchêne (Hibou57)
2012-02-13  3:02     ` BrianG
2012-02-10 12:19 ` Brian Drummond
2012-02-10 14:22   ` Yannick Duchêne (Hibou57)
2012-02-10 19:16   ` Jeffrey Carter
2012-02-11 16:31 ` Martin Dowie
2012-02-16 17:44 ` Convention for naming of anything Yannick Duchêne (Hibou57)
2012-02-17 19:46   ` Yannick Duchêne (Hibou57)
2012-02-17 21:53     ` Manuel Collado
2012-02-17 22:12       ` Yannick Duchêne (Hibou57)
2012-02-17 23:52   ` Adam Beneschan
2012-02-18  0:24     ` Yannick Duchêne (Hibou57)
2012-02-18  0:50       ` Yannick Duchêne (Hibou57)
2012-02-18 22:53         ` BrianG
2012-02-19 11:16           ` Simon Wright
2012-03-06  0:36             ` Randy Brukardt
2012-02-18 11:32   ` Georg Bauhaus
2012-02-18 13:02     ` Yannick Duchêne (Hibou57)
2012-02-19 18:07   ` Phil Clayton
2012-02-19 21:53     ` Yannick Duchêne (Hibou57)
2012-02-20  0:21       ` Phil Clayton
replies disabled

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