comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Suffix _T for types found good
Date: Thu, 21 Aug 2008 11:44:21 +0200
Date: 2008-08-21T11:44:23+02:00	[thread overview]
Message-ID: <15wlgjkqt5q6a.10di4wskins28.dlg@40tude.net> (raw)
In-Reply-To: 2259e1a3-e04c-4662-affb-dae07baa4a43@x16g2000prn.googlegroups.com

On Wed, 20 Aug 2008 13:37:03 -0700 (PDT), Adam Beneschan wrote:

> On Aug 20, 8:38 am, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:
>> On Wed, 20 Aug 2008 07:25:12 -0700 (PDT), Adam Beneschan wrote:
>>> Yeah, earlier on in this thread I was thinking about whether it would
>>> have been possible for Ada to have separate namespaces for types and
>>> other non-type entities without ambiguities.  Attributes make this
>>> impossible.
>>
>> Nope. In all cases the type and variable names can be overloaded. Any
>> difference between them is not lexical.
> 
> Apparently I didn't make myself clear, since we seem to be talking
> about two totally different things.  Either that, or I just don't
> understand what you're saying.
> 
> Let me try to make myself clearer: If there were a rule change in Ada
> so that types (or subtypes) could have the same identifiers as other
> entities in the same scope, in many or most cases the compiler could
> unambiguously determine from context whether the identifier refers to
> the type:
> 
>    XYZ : Some_Type;
>    type XYZ is array (1..10) of Some_Other_Type;
>    An_Object : XYZ;
> 
> In this last line, it's clear that only the type declaration could be
> meant by XYZ.  But in attribute cases, it can be ambiguous: XYZ'First,
> XYZ'Last, XYZ'Size, probably some others.  So that aspect of the
> language would need a new design.  I'm not sure whether there are
> other cases, besides attributes, where the identifier would be
> ambiguous.

My point is that this does not differ from the case when XYZ are two
variables visible from two different packages:

package A is
   XYZ : Some_Type;
end A;

package B is
   XYZ : Some_Type;
end B;

use A, B and XYZ'First will be ambiguous. It is not a lexical problem.
S'First is just an expression it might be ambiguous. So what? 

The real problem is that the ambiguity might be impossible to resolve. But
this isn't new. There already exist cases when names get hidden forever.

So long types are not first-class citizens in Ada, we could have a
different namespace for them. Not that I would advocate for that!

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  parent reply	other threads:[~2008-08-21  9:44 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-06 14:58 Suffix _T for types found good amado.alves
2008-08-06 16:34 ` Peter C. Chapin
2008-08-06 17:23   ` amado.alves
2008-08-06 21:57     ` Peter C. Chapin
2008-08-06 22:14       ` amado.alves
2008-08-12 14:00     ` Simon Wright
2008-08-07  1:23   ` Steve
2008-08-07 15:10     ` Colin Paul Gloster
2008-08-07 17:04       ` Ray Blaak
2008-08-07 17:19         ` amado.alves
2008-08-07 18:44           ` amado.alves
2008-08-07 19:37             ` Jeffrey R. Carter
2008-08-08 13:46               ` Steve
2008-08-08 16:40                 ` Ray Blaak
2008-08-08 20:27                 ` Jeffrey R. Carter
2008-08-19 18:05         ` Martin
2008-08-19 23:04           ` Ray Blaak
2008-08-20  0:13             ` Gary Scott
2008-08-20  7:42             ` What is a Contract? (was: Suffix _T for types found good) Georg Bauhaus
2008-08-20 16:19               ` Ray Blaak
2008-08-20  8:52             ` Suffix _T for types found good Martin
2008-08-20  2:01           ` Steve
2008-08-20 11:59             ` Stephen Leake
2008-08-20 14:25               ` Adam Beneschan
2008-08-20 15:38                 ` Dmitry A. Kazakov
2008-08-20 20:37                   ` Adam Beneschan
2008-08-21  1:46                     ` Peter C. Chapin
2008-08-21  9:47                       ` Stephen Leake
2008-08-21  9:49                       ` Dmitry A. Kazakov
2008-08-21  9:44                     ` Dmitry A. Kazakov [this message]
2008-08-22  4:12                     ` Randy Brukardt
2008-08-22  4:12                     ` Randy Brukardt
2008-08-20 15:46               ` Gary Scott
2008-08-21  9:48                 ` Stephen Leake
2008-08-21 13:53               ` amado.alves
2008-08-21 15:30                 ` Gary Scott
2008-08-20 11:53           ` Stephen Leake
2008-08-20 12:12             ` Martin
2008-08-20 19:37             ` Simon Wright
2008-08-21  9:44               ` Stephen Leake
2008-08-07  3:05   ` Randy Brukardt
2008-08-07  6:56     ` Jean-Pierre Rosen
2008-08-06 17:18 ` Niklas Holsti
2008-08-06 17:57   ` amado.alves
2008-08-06 18:43     ` Niklas Holsti
2008-08-06 19:36       ` amado.alves
2008-08-06 19:11 ` Jeffrey R. Carter
2008-08-06 19:16   ` amado.alves
2008-08-06 19:47     ` Jeffrey R. Carter
2008-08-06 20:06     ` Pascal Obry
2008-08-06 22:07       ` amado.alves
2008-08-06 23:11         ` Jeffrey R. Carter
2008-08-06 23:25           ` amado.alves
2008-08-07  7:16         ` Georg Bauhaus
2008-08-07  8:51           ` amado.alves
2008-08-07 10:10             ` Georg Bauhaus
2008-08-07 11:32               ` Georg Bauhaus
2008-08-07 12:37               ` amado.alves
2008-08-07 16:51             ` Ray Blaak
2008-08-07 17:01           ` Ray Blaak
2008-08-07 19:27             ` Adam Beneschan
2008-08-07 22:15               ` Ray Blaak
2008-08-07 22:17             ` Ray Blaak
2008-08-07 19:25           ` Jeffrey R. Carter
2008-08-07 12:12 ` Maciej Sobczak
2008-08-07 12:30   ` amado.alves
2008-08-07 12:51   ` Dmitry A. Kazakov
2008-08-07 15:37     ` amado.alves
replies disabled

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