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,81bb2ce65a3240c3 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.125.233 with SMTP id mt9mr7410762pbb.5.1335484695019; Thu, 26 Apr 2012 16:58:15 -0700 (PDT) MIME-Version: 1.0 Path: r9ni102362pbh.0!nntp.google.com!news1.google.com!feed-C.news.volia.net!volia.net!news2.volia.net!feed-A.news.volia.net!news.ecp.fr!news.jacob-sparre.dk!munin.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: What would you like in Ada202X? Date: Thu, 26 Apr 2012 18:58:06 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <3637793.35.1335340026327.JavaMail.geo-discussion-forums@ynfi5> <4f97bf40$0$6559$9b4e6d93@newsspool4.arcor-online.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1335484692 2719 69.95.181.76 (26 Apr 2012 23:58:12 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Thu, 26 Apr 2012 23:58:12 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Date: 2012-04-26T18:58:06-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:lh3gjjdhbg01.k1bt0u2astpl$.dlg@40tude.net... > On Wed, 25 Apr 2012 21:23:37 -0500, Randy Brukardt wrote: ... >> (2) Generic in-out object parameters (almost never used, hard to >> implement, >> probably buggy because of the first two); > > What about passing a storage pool to a generic? One of the reasons I didn't propose getting rid of anonymous access is that they're really handy for solving the occasional oddity. Passing an "in" object that is an anonynous access to Root_Storage_Pool'Class handles this need nicely, and doesn't require pages of mechanism in the RM and thousands of lines of never used code in a compiler. (I worry more about the latter than the former -- I'd never use an "in out" generic object even if it was supposedly the right solution since you're much more likely to get stopped by a compiler bug.) >> (3) Interfaces (buys almost nothing over abstract types, except a huge >> amount of complication in definition and implementation); > > Hold on, should it mean that you are for true MI? I cannot believe it! > (:-)) I've concluded that I'm pretty much against all forms of MI. Which I realize is probably too strong, but surely Interfaces isn't it. I'm definitely against any mechanism that you can only use once, which is the way a particular interface works. That leads to silliness like the "no hidden interfaces" rule (because otherwise you could destroy privacy by adding the "right" interface; alternatively, you could destroy everyone's sanity by determining what routine to dispatch to by what visibility you have). Solutions to this mess probably exist, but I'd rather spend my limited efforts on earth on something that actually will help my programs (say exception contracts, more static capabilities for pre and postconditions, etc.). Randy.