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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!mx05.eternal-september.org!feeder.eternal-september.org!gegeweb.org!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: Ada 2012: In-out parameters for functions Date: Mon, 6 May 2013 19:36:06 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <7704abab-86f2-4edc-ad4b-b3d4e70004fb@googlegroups.com> <42ab7a8e-78ec-4b41-bdca-3f785cc5d5ef@googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: munin.nbi.dk 1367886969 14631 69.95.181.76 (7 May 2013 00:36:09 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 7 May 2013 00:36:09 +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 Xref: news.eternal-september.org comp.lang.ada:15386 Date: 2013-05-06T19:36:06-05:00 List-Id: As mentioned earlier, this is included in AI05-0144-1; you'll find that older thread in the appendix of that AI. Randy. "Adam Beneschan" wrote in message news:42ab7a8e-78ec-4b41-bdca-3f785cc5d5ef@googlegroups.com... On Sunday, May 5, 2013 3:24:50 AM UTC-7, Niklas Holsti wrote: > On 13-05-04 02:29 , Randy Brukardt wrote: > > How about reusing the mode keywords: > > Proc ( > In_Param => in A, > Out_Param => out B, > In_Out_Param => in out C); > > The mode keywords would be optional, of course, thus this extension > would be upwards compatible with current Ada. Note that this syntax can > be used with positional association calls, too: > > Proc (in A, out B, in out C); > > An alternative, perhaps more English-like, would be to put the mode > keywords in front of the formal parameter: > > Proc ( > in In_Param => A, > out Out_Param => B, > in out In_Out_Param => C); > > but I like the first form better, because its form and format are more > familiar, especially when the "=>" are vertically aligned. I checked my archive of Ada-Comment mail, and it seems we had this exact discussion around March 2009. It looks like I suggested one of the syntaxes you mentioned, and the people who commented afterward seemed to be split about evenly between those who like the idea and those who hated it. (You contributed a comment too, on the "like" side.) It doesn't look like this was ever turned into an AI or an AC, though; at least, I can't find it. Bob Duff was the one who pointed out how Ada 79 handled it. -- Adam