From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,e93f73587e2bc1c3 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!217.73.144.44.MISMATCH!feeder.ecngs.de!ecngs!feeder2.ecngs.de!news.netcologne.de!ramfeed1.netcologne.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail From: "Dmitry A. Kazakov" Subject: Re: Sharing generic bodies across instantiations. Newsgroups: comp.lang.ada User-Agent: 40tude_Dialog/2.0.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Reply-To: mailbox@dmitry-kazakov.de Organization: cbb software GmbH References: <4c4e2d69$0$2378$4d3efbfe@news.sover.net> <4c4f5c28$0$2375$4d3efbfe@news.sover.net> <7da1e21f-bec7-4607-923c-0fd6cbcfc753@t10g2000yqg.googlegroups.com> <1vjqnwxhvr91j.3e8ryvkk8ezv$.dlg@40tude.net> <1e77bsd66fduw.dbrgbk4g2ce7$.dlg@40tude.net> <22db743d-ef73-40fe-886d-9730a2763eaa@c10g2000yqi.googlegroups.com> <5cljc8pc0gv0$.115t79rxo29vs$.dlg@40tude.net> <9ad8b242-fe4c-4871-8c0e-1f1ddec936c7@w31g2000yqb.googlegroups.com> <94v29hel87y$.8jvqfyw964yt.dlg@40tude.net> <14342188-c6f4-4b60-9284-8eff4f3f9ecd@k19g2000yqc.googlegroups.com> Date: Fri, 30 Jul 2010 16:59:20 +0200 Message-ID: NNTP-Posting-Date: 30 Jul 2010 16:59:20 CEST NNTP-Posting-Host: b98b3dd8.newsspool1.arcor-online.net X-Trace: DXC=oK9_SCBJ7S3lIh70@4Fo<]lROoR1<`=YMgDjhg26E_NldJ1nG2[6LHn;2LCV>7enW;^6ZC`4\`mfM[68DC3?Ce1Af@0A;< X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:12724 Date: 2010-07-30T16:59:20+02:00 List-Id: On Fri, 30 Jul 2010 05:31:41 -0700 (PDT), Maciej Sobczak wrote: > On 30 Lip, 11:09, "Dmitry A. Kazakov" > wrote: > >>>> What are you trying to say by this? >> >>> That it does not matter what was the suitability of the back-end >>> tools, as there is no obligation (as far as the standard is concerned) >>> to use the existing tools. If you are not obliged to use existing >>> tools, you are not constrained by their (lack of) suitability. >> >> This is obviously wrong. It is like to say that you are not constrained to >> fly to the Moon even if there is no rocket available. > > This is obviously wrong. The language standard is not concerned with > what is available, but with what will be developed. Existing practice > can of course provide the valuable guideline as well as feasibility > data, but is but no means formally constraining. > You can standardize flights to the Moon even if there is no rocket. > Rockets will be built according to what the standard says. Can I buy a ticket? >>>> You mean shared Ada generic bodies? Yes they require much less late binding >>>> than C++ templates would, >> >>> Can you elaborate on this, please? >> >> Compiled generic bodies, at least in Ada 83, can be parametrized using >> linker expressions. > > 1. What are linker expressions? Formulae used to define symbols. > Why they cannot be used with C++? They are used with C++, but not to instantiate templates. > 2. How does this affect the amount of late binding and why is there > less of it than with C++ templates? Because Ada generics were intentionally designed to support sharing and thus not to become a burden for linkers and loaders of existing OSes. C++ templates were never intended for this. >>>> 1. My example of shared macros was MACRO-11. >> >>> I thought we were talking about C++. Or Ada. >> >> We were about macros. > > No, we were talking about going to the Moon. > > Your tendency to pull the subject in every possible direction just to > keep the discussion going is nothing new here. > *I* was talking about C++ templates and in that context your claims > were wrong. You didn't show that. > During the discussion I have referred to the C++ standard, > whereas you have failed to substantiate your claims in any way other > than with unrelated stories. > >> (Especially because C++ templates are macros (:-)) > > Handwaving. We are close to EOF. Talking about discussion methods, I did explain what macros and templates have in common. All your responses so far did not go beyond "has nothing to do". >>>> 2. The standard does not put any requirements on how the compiler actually >>>> works. >> >>> Bingo. So why do you put claims that are based on the suitability of >>> some tools? >> >> Because any implementation must use these tools. > > Implementation must use *some* tools. It might bring its own. Show me a C++ compiler coming with another OS, loader, linker. >> 1) C++ tells something about templates >> 2) C++ is silent about some other things about templates >> 3) 1 makes something allowed by 2 difficult > > And we're still nowhere close to the conclusion on sharing generic > bodies across instantiations. We are done with debunking your claim about alleged contradiction. > (we got, however, closer to the Moon in the meantime) > >> Where is a contradiction? > > 1. "the back-end tools down to the linker and loader were unsuitable" > 2. "The standard does not put any requirements on how the compiler > actually > works." > > The two above are exact citations. See above. > Frankly, I'm both tired and bored of this discussion. Can we stop? Sure. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de