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: a07f3367d7,65b902127ca8a604 X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news1.google.com!news.glorb.com!news2.arglkargh.de!nuzba.szn.dk!news.jacob-sparre.dk!pnx.dk!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Issue with GNAT GPL 2009 and GtkAda Date: Fri, 26 Jun 2009 16:38:45 -0500 Organization: Jacob Sparre Andersen Message-ID: References: <4A414EBB.8060204@free.fr> <1avd65rn49abv$.krcxo2gdzb16$.dlg@40tude.net> <10ym4hltpwd4n$.1hcayfi4xidg3.dlg@40tude.net> <4a44842e$0$31872$9b4e6d93@newsspool3.arcor-online.net> <1hi0km5xe1802.17l3qjn1g9525$.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1246052366 15976 69.95.181.76 (26 Jun 2009 21:39:26 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 26 Jun 2009 21:39:26 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5512 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-RFC2646: Format=Flowed; Original Xref: g2news2.google.com comp.lang.ada:6653 Date: 2009-06-26T16:38:45-05:00 List-Id: "Dmitry A. Kazakov" wrote in message news:1hi0km5xe1802.17l3qjn1g9525$.dlg@40tude.net... ... > I would remove anonymous access types altogether, fixing the real language > problems, which led to introducing them in first place. I don't think that there were any *real* language reasons for introducing them; the reasons came from wanting to make Ada more appealing to C and Java programmers. (A horrible reason for language design, IMHO.) They can be used to work around some of Ada's other limitations. In any case, it appears likely that Amendment 2 will repeal the prohibition on "in out" parameters on functions (adding a conservative call check to prevent obvious ordering dependencies). We're also planning on adding a way to force by-reference parameter passing. The motivating use is for the containers, but I'm sure it will find other uses as well. As far as the use of class-wide components, I think that would be easily fixed by just allowing them. They would be fairly easy to implement in Janus/Ada. (I'd also make it required to support any size of discriminant, banning max-size only implementations). But I realize that that would be a problem for safety-critical uses (there would be implicit allocation on some assignments), so we'd also need a fairly strong set of restrictions for such users. That would reduce the need to use access types some more. (But it can never be completely eliminated; sometimes you really do need reference semantics, especially for returns.) Randy.