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!news.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Ada advocacy Date: Fri, 30 Aug 2013 20:48:48 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <19595886.4450.1332248078686.JavaMail.geo-discussion-forums@vbbfy7> <2012032020582259520-rblove@airmailnet> <12ee9bc5-3bdf-4ac0-b805-5f10b3859ff4@googlegroups.com> <6c58fae4-6c34-4d7a-ab71-e857e55897c0@x6g2000vbj.googlegroups.com> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1377913729 19561 69.95.181.76 (31 Aug 2013 01:48:49 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Sat, 31 Aug 2013 01:48:49 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Response X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:17060 Date: 2013-08-30T20:48:48-05:00 List-Id: "Jeffrey R. Carter" wrote in message news:kvofa4$dnc$1@adenine.netfront.net... > On 08/29/2013 08:28 AM, Robert A Duff wrote: >> >> Also, you can do >> multi-way waits with accept statements but not entry calls. > > You can do > > select > P1.E1; -- An entry call. > then abort > P2.E4; -- Another entry call. > end select; > > to wait for 1 of 2 entry calls, and you can nest another ATC in there to > do 3, and so on to whatever depth you like, so I don't really see a reason > for the language not to provide a multi-way select for entry calls. The idea was extensively studied during the Ada 9x process, and the conclusion was that it would be very expensive to implement. (I forget why, but there should be papers on the topic somewhere in the Ada 9x documents.) Moreover, the hard real-time users were the ones doing the lobbying for the feature, and it was abundantly clear that they would not be able to use it because of latency issues. (It certainly would have been excluded from Ravenscar.) Your workaround is also insanely expensive, but at least that is obvious syntactically ("abort" should "feel" expensive to an Ada programmer in a way that an entry call should not.) Randy.