comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Sharing generic bodies across instantiations.
Date: Thu, 29 Jul 2010 16:40:33 +0200
Date: 2010-07-29T16:40:32+02:00	[thread overview]
Message-ID: <b4sa7fdb381x$.l3hnqcyuokej$.dlg@40tude.net> (raw)
In-Reply-To: 9ad8b242-fe4c-4871-8c0e-1f1ddec936c7@w31g2000yqb.googlegroups.com

On Thu, 29 Jul 2010 07:02:25 -0700 (PDT), Maciej Sobczak wrote:

> On 29 Lip, 10:03, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
> wrote:

>> You are free to disagree

> I do.

I know.

>>> Even if we assume such a limitation of discussion, there is still
>>> nothing particular in the C++ standard that would prevent code sharing
>>> as an implementation strategy for templates.
>>
>> It would be technically meaningless, because the back-end tools down to the
>> linker and loader were unsuitable for this.
> 
> First: C++ standard places no constraints on how the implementation is
> organized at the system level.

What are you trying to say by this?

> Second: so, I understand, "the back-end tools down to the linker and
> loader" were more suitable to do it in Ada, right?

You mean shared Ada generic bodies? Yes they require much less late binding
than C++ templates would, if anybody came to a silly idea to compile and
then share them.

>>> Interestingly, macros cannot use this strategy by their definition.
>>
>> They perfectly can.
> 
> No. 2.1 (C++ standard) defines the phases of translation - macro
> expansion is performed before syntactic and semantic analysis of
> tokens.

1. My example of shared macros was MACRO-11.

2. The standard does not put any requirements on how the compiler actually
works. Precompiled headers and IDEs with "go to the declaration point" for
a #define, or just showing the source, not yet expanded, code, even daring
to colorize it, do not take this advise literally.

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



  reply	other threads:[~2010-07-29 14:40 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-27  0:51 Sharing generic bodies across instantiations Peter C. Chapin
2010-07-27  3:01 ` Gene
2010-07-27  6:55 ` AdaMagica
2010-07-27 11:29   ` Ludovic Brenta
2010-07-27 14:10     ` Tero Koskinen
2010-07-27 10:51 ` Martin
2010-07-27 20:06 ` anon
2010-07-27 22:23   ` Peter C. Chapin
2010-07-28  7:59     ` Maciej Sobczak
2010-07-28  9:28       ` Dmitry A. Kazakov
2010-07-28 12:55         ` Maciej Sobczak
2010-07-28 13:16           ` Dmitry A. Kazakov
2010-07-28 19:48             ` Maciej Sobczak
2010-07-29  8:03               ` Dmitry A. Kazakov
2010-07-29 14:02                 ` Maciej Sobczak
2010-07-29 14:40                   ` Dmitry A. Kazakov [this message]
2010-07-29 20:27                     ` Maciej Sobczak
2010-07-30  9:09                       ` Dmitry A. Kazakov
2010-07-30 12:31                         ` Maciej Sobczak
2010-07-30 14:59                           ` Dmitry A. Kazakov
2010-08-03  3:02                           ` Randy Brukardt
2010-08-03 14:37                             ` Robert A Duff
2010-08-03  2:47                         ` Randy Brukardt
2010-07-28 20:01             ` Keith Thompson
2010-07-29  7:46               ` Dmitry A. Kazakov
2010-07-28 11:27       ` Peter C. Chapin
2010-07-28 13:10         ` Maciej Sobczak
2010-07-28 16:32           ` Peter C. Chapin
2010-07-28 19:30             ` Robert A Duff
2010-07-28 20:03             ` Maciej Sobczak
2010-07-28 11:47     ` anon
2010-08-03  2:38     ` Randy Brukardt
2010-08-03 14:31       ` Robert A Duff
2010-07-28  0:55   ` Keith Thompson
2010-07-28  8:42     ` Markus Schoepflin
2010-07-28 11:16     ` anon
replies disabled

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