comp.lang.ada
 help / color / mirror / Atom feed
From: Niklas Holsti <niklas.holsti@tidorum.invalid>
Subject: Re: Ada standard and maximum line lengths
Date: Tue, 29 Jan 2013 18:58:54 +0200
Date: 2013-01-29T18:58:54+02:00	[thread overview]
Message-ID: <amqdeeF1b3qU1@mid.individual.net> (raw)
In-Reply-To: <5107eaed$0$6566$9b4e6d93@newsspool4.arcor-online.net>

On 13-01-29 17:29 , Georg Bauhaus wrote:
> On 29.01.13 13:31, Niklas Holsti wrote:
>> Even for hypothetical SW of some sort that generates Ada source code
>> automatically, I think it very unlikely that it would generate
>> identifiers of that length, since Ada identifiers can be qualified and
>> sorted into packages etc. much more flexibly than is the case for linker
>> symbols.
> 
> GNAT writes similar identifiers into object files, and
> the same hysterical raisins spoil the cake. At least the
> names---those to be exported to other compilers---seem shorter
> if package hierarchies are not used extensively.

So what? These are *linker symbols*, not Ada (source) identifiers. I
don't understand why you bring them into a discussion of source-code
identifier lengths.

In many cases, for example for the C++ symbol that you gave, the symbols
are not even lexically legal Ada identifiers.

> Alas, the problem of exceedingly long names in object files
> can be worked around by allowing lengthy identifiers in source
> text.

Incomprehensible. Is there a "not" missing somewhere in that sentence?

While long linker symbols are ugly, and a poor work-around for linker
weaknesses, they are troublesome only for people who deal with low-level
debugging, or other tools on that level.

> There is a better alternative. It needs to address the
> issue at some object interchange level, which is typed.
> Something between function libraries from around 1970 and
> {.NET, JVM, Corba, Zero-C Ice, ...}.

Certainly the linker principles and operations could stand improvement
and modernisation. Not to speak of the unspeakably (as I said :-)) poor
documentation of symbolic information emitted by compilers and stored in
"standard" forms like DWARF (which is still vastly better than the older
standards for debug info).

> An incentive is needed that creates fruitful cooperation of
> languages, if that is where long identifiers are a pain, and
> a source of cumbersome, costly configuration.

As I've understood it, the GNAT Ada/C++ linkage does *not* involve
typing those long, mangled linker symbols into an Ada program as
identifiers. GNAT understands the GNU C++ compiler well enough to hide them.

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



  reply	other threads:[~2013-01-29 16:58 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-28  5:02 Ada standard and maximum line lengths Lucretia
2013-01-28  6:01 ` J-P. Rosen
2013-01-28  6:28 ` Jeffrey Carter
2013-01-28  8:05   ` Niklas Holsti
2013-01-28 16:42     ` Jeffrey Carter
2013-01-28 20:22       ` Niklas Holsti
2013-01-28 20:46         ` J-P. Rosen
2013-01-28 21:29           ` Niklas Holsti
2013-01-29  1:42             ` Randy Brukardt
2013-01-29  6:15             ` J-P. Rosen
2013-01-29 10:25               ` Niklas Holsti
2013-01-29 11:31                 ` Georg Bauhaus
2013-01-29 12:11                   ` Simon Wright
2013-01-29 12:31                   ` Niklas Holsti
2013-01-29 12:37                     ` Niklas Holsti
2013-01-29 15:29                     ` Georg Bauhaus
2013-01-29 16:58                       ` Niklas Holsti [this message]
2013-01-29 17:51                         ` Georg Bauhaus
2013-01-29 18:18                           ` Shark8
2013-01-29 19:54                           ` Niklas Holsti
2013-01-29 23:12                             ` Georg Bauhaus
2013-01-30  9:18                               ` Niklas Holsti
2013-01-30  9:51                                 ` Simon Wright
2013-01-30 15:28                                 ` Robert A Duff
2013-01-30 23:24                                   ` Randy Brukardt
2013-01-31  2:16                                     ` Robert A Duff
2013-01-31  9:10                                       ` Stefan.Lucks
2013-01-31  9:30                                         ` Niklas Holsti
2013-01-31  9:51                                           ` Simon Wright
2013-01-31 10:56                                           ` Georg Bauhaus
2013-01-31 18:02                                         ` Jeffrey Carter
2013-01-31 23:54                                       ` Randy Brukardt
2013-02-01  9:15                                         ` Niklas Holsti
2013-02-01 23:13                                           ` Randy Brukardt
2013-02-02  1:24                                             ` Lucretia
2013-02-02 14:12                                               ` Robert A Duff
2013-02-05  2:09                                               ` Randy Brukardt
2013-01-31  9:03                                   ` Dmitry A. Kazakov
2013-01-30  9:37                               ` Simon Wright
2013-01-30 12:02                                 ` Georg Bauhaus
2013-01-29 23:47                             ` Jeffrey Carter
2013-01-30  7:24                               ` Niklas Holsti
2013-01-30 10:09                                 ` J-P. Rosen
2013-01-29 20:36                 ` Niklas Holsti
2013-01-29 21:01                   ` Robert A Duff
2013-01-29 21:14                   ` Dmitry A. Kazakov
2013-01-28  8:18 ` Dmitry A. Kazakov
2013-01-28 10:02   ` Maciej Sobczak
2013-01-28 11:57     ` Georg Bauhaus
2013-01-28 13:28       ` Niklas Holsti
2013-01-28 15:14       ` J-P. Rosen
2013-01-28 16:13       ` Dmitry A. Kazakov
2013-01-28 15:13     ` Dmitry A. Kazakov
2013-01-28 13:49 ` Robert A Duff
2013-01-29  2:09   ` Randy Brukardt
2013-01-29 18:46 ` Lucretia
2013-01-29 20:53   ` Robert A Duff
2013-01-29 21:22   ` Dmitry A. Kazakov
2013-01-30  3:22     ` Lucretia
2013-01-30  9:49       ` Dmitry A. Kazakov
2013-01-30 23:28         ` Randy Brukardt
2013-02-01  1:48       ` Shark8
2013-01-29 21:29   ` Dmitry A. Kazakov
2013-01-29 21:53   ` Adam Beneschan
replies disabled

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