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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1a52c822fc0dbb23 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!newsfeed.freenet.de!news.albasani.net!nuzba.szn.dk!news.jacob-sparre.dk!pnx.dk!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Rational for not making cursor tagged in Containers Date: Sat, 21 Apr 2007 23:08:57 -0500 Organization: Jacob's private Usenet server Message-ID: References: <1176998738.656903.141250@q75g2000hsh.googlegroups.com> <1177010938.200523.325290@p77g2000hsh.googlegroups.com> <1a8y2vakorfhx.225uqh4hifpd$.dlg@40tude.net> <1xmzi7newnilp.23m3zze8h9yi.dlg@40tude.net> <1177066583.5876.30.camel@localhost.localdomain> <1177080147.5876.87.camel@localhost.localdomain> <1q1kx2jlcvnuj.ck0711mj4few$.dlg@40tude.net> <1177097829.26685.36.camel@localhost.localdomain> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: jacob-sparre.dk 1177214823 20321 69.95.181.76 (22 Apr 2007 04:07:03 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sun, 22 Apr 2007 04:07:03 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1807 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807 Xref: g2news1.google.com comp.lang.ada:15209 Date: 2007-04-21T23:08:57-05:00 List-Id: "Robert A Duff" wrote in message news:wcc8xclrz1j.fsf@shell01.TheWorld.com... > "Randy Brukardt" writes: > > > "Robert A Duff" wrote in message > > news:wccbqhizsh0.fsf@shell01.TheWorld.com... > > ... > >> I also thought (and continue to think) that array types should be > >> allowed to have discriminants. The quote above was a jab at people > >> who thought otherwise. I lost that argument. > > > > That would have been me. I think I was arguing simply from the > > implementation complexity standpoint > > Implementation complexity for existing (Ada 83) implementations. > A newly-designed implementation would have had no trouble. > 20-20 hindsight! That's probably true, but there were almost no new implementations. I think GNAT was the only one. We forked our compiler, but we certainly did not start from scratch. Implementing expression resolution once was enough (by far!). > I claim that it's much easier to implement Ada 95 than it is to > implement Ada 83 and then adapt that implementation to Ada 95. That has to be true, simply because there are rules in Ada 83 that don't exist in Ada 95; clearly there is an effort to support those rules. But I don't think it matters in any important practical way; most everything was an addition, not a change. > The same applies to 95/2005. I sweated blood implementing the AI-318 > features (limited constructor functions) for Ada 2005 in GNAT, but I'm > pretty sure that AI-318 would be no extra trouble in a from-scratch > implementation of Ada 2005. I suspect that you are being kind; it would be an amazing amount of work either way. Passing finalization chains, task masters, and *moving* them is outside of the normal intent in any language design - finalization chains are pretty much the only way to implement that, no matter what bizarre requirements are added in unusual cases. (My intent is simply to add a number of new calling (sub)conventions; the only issue is if they are used for any existing subprograms written in assembler. But those new conventions will take a lot of work to make them work properly.) But the big gain in not implementing Ada 95 would not be implementing all of that hair-brained return-by-reference stuff. Randy.