comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Latest suggestion for 202x
Date: Mon, 24 Jun 2019 15:06:23 +0300
Date: 2019-06-24T15:06:23+03:00	[thread overview]
Message-ID: <gnbslvFqofgU1@mid.individual.net> (raw)
In-Reply-To: <alpine.DEB.2.21.1906241248220.27033@hexenstieg>

On 19-06-24 14:12 , Stefan.Lucks@uni-weimar.de wrote:
>> The principle for any decent language is that if two identifiers mean
>> the same thing in the brain of the reader, then they must correspond
>> to the same entity. And the meaning of a word is not changed by casing.
>
> Do you really think so?
>
> I think, the capical 'I' is very different from i=sqrt(-1).  ;-)
>
> To be honest, I agreee that Ada should not adapt the concept of many
> other case-sensitive languages that capitalization (such as changing
> between 'I' and 'i') gives you two different identifiers, to be used
> interchangeably.
>
> On the other hand, I would prefer the compiler to require a consistent
> casing. E.g., if you define an identifier "Ada", you are not allowed to
> spell the same identifier as "ADA", "ada", "aDa", ... anywhere else.

GNAT has the option -gnatyr, which is described as follows:

"r (check references): If the letter r appears in the string after 
-gnaty then all identifier references must be cased in the same way as 
the corresponding declaration. No specific casing style is imposed on 
identifiers. The only requirement is for consistency of references with 
declarations."

I agree that this consistency is a good rule in general, but sometimes 
it results in strange-looking code when a program with a certain 
identifier-casing convention (say, Title_Case) uses a library with 
another convention (say, UPPER_CASE), leading to subprogram calls with 
different conventions. Oh well, perhaps Title_Case will be the law 
someday...

> Or consider
>
>   procedure P(Value: Integer) is ...
>   ...
>
>   declare
>     i: Integer := 0;
>   begin
>     declare
>       I: Integer := 1;
>     begin
>       P(i); -- DOES call P(1) in Ada, since Ada is
>             --      not case-sensitive
>             -- WOULD call P(0) in most other modern languages,
>             --       which usually have case-sensitive identifiers
>             -- SHOULD be treated as an error, because "i" and "I"
>             --        are *different* identifiers, nevertheless "i"
>             --        has been hidden by  "I".
>      end;
>   end;

GNAT also has "-gnatwh", which would warn about "I" hiding "i".

-- 
Niklas Holsti
Tidorum Ltd
niklas holsti tidorum fi
       .      @       .


  reply	other threads:[~2019-06-24 12:06 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-15 23:59 Latest suggestion for 202x Micah Waddoups
2019-06-16  5:14 ` Jerry
2019-06-16  7:17 ` Dmitry A. Kazakov
2019-06-16 10:22 ` Egil H H
2019-06-16 16:54   ` Maciej Sobczak
2019-06-16 20:09     ` Dmitry A. Kazakov
2019-06-17  6:54     ` Egil H H
2019-06-17  7:42       ` J-P. Rosen
2019-06-17 12:01     ` Mart van de Wege
2019-06-17 13:35       ` Maciej Sobczak
2019-06-17 15:20         ` Dmitry A. Kazakov
2019-06-17 15:32           ` Paul Rubin
2019-06-17 16:43             ` Dmitry A. Kazakov
2019-06-17 21:38           ` Keith Thompson
2019-06-18 15:48             ` Jeffrey R. Carter
2019-06-20 22:21             ` Randy Brukardt
2019-06-21  9:42               ` Dmitry A. Kazakov
2019-06-21 18:12                 ` Keith Thompson
2019-06-21 18:43                   ` Dmitry A. Kazakov
2019-06-21 20:24                     ` Keith Thompson
2019-06-22  6:54                       ` Dmitry A. Kazakov
2019-06-22  8:43                         ` Randy Brukardt
2019-06-22  9:00                           ` Dmitry A. Kazakov
2019-06-22 17:44                         ` Keith Thompson
2019-06-22 18:34                           ` Bill Findlay
2019-06-22 18:37                           ` Dmitry A. Kazakov
2019-06-23  7:38                             ` G.B.
2019-06-23  8:29                               ` Dmitry A. Kazakov
2019-06-23 18:34                               ` Optikos
2019-06-23 19:20                                 ` Dennis Lee Bieber
2019-06-22 20:48                           ` Optikos
2019-06-22 20:53                             ` Optikos
2019-06-23 17:42                             ` Dennis Lee Bieber
2019-06-24  5:07                               ` J-P. Rosen
2019-06-24  5:40                                 ` Paul Rubin
2019-06-24  7:16                                   ` Niklas Holsti
2019-06-26 18:00                                     ` Stephen Leake
2019-06-24 13:07                                   ` J-P. Rosen
2019-06-24 11:12                                 ` Stefan.Lucks
2019-06-24 12:06                                   ` Niklas Holsti [this message]
2019-06-24 20:22                                     ` Randy Brukardt
2019-06-24 20:32                                       ` Keith Thompson
2019-06-24 20:47                                       ` Jeffrey R. Carter
2019-06-24 13:10                                   ` J-P. Rosen
2019-06-22  8:36                   ` Randy Brukardt
2019-06-22 17:39                     ` Keith Thompson
2019-06-16 19:34 ` Optikos
2019-06-16 20:10   ` John Perry
2019-06-16 20:57     ` Optikos
2019-06-16 21:36       ` Dmitry A. Kazakov
2019-06-17 16:48     ` G. B.
2019-06-17 17:12     ` Paul Rubin
2019-06-16 21:41 ` Lucretia
2019-06-19  2:36 ` Micah Waddoups
2019-06-19 11:14   ` Lucretia
2019-06-19 11:45     ` briot.emmanuel
2019-06-19 14:34       ` Optikos
2019-06-19 19:29         ` Lucretia
2019-06-19 16:12   ` G. B.
2019-06-23 20:17 ` Per Sandberg
replies disabled

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