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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,9d303864ae4c70ad X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-04-15 01:04:46 PST Path: archiver1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!dialin-145-254-038-142.arcor-ip.NET!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Reprise: 'in out' parameters for functions Date: Thu, 15 Apr 2004 10:04:33 +0200 Organization: At home Message-ID: References: <5ad0dd8a.0404090512.15af2908@posting.google.com> <5ad0dd8a.0404091828.6e79bb4e@posting.google.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: dialin-145-254-038-142.arcor-ip.net (145.254.38.142) Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit X-Trace: news.uni-berlin.de 1082016285 3112344 I 145.254.38.142 ([77047]) User-Agent: KNode/0.7.2 Xref: archiver1.google.com comp.lang.ada:7116 Date: 2004-04-15T10:04:33+02:00 List-Id: Robert I. Eachus wrote: > Dmitry A. Kazakov wrote: > >> This has nothing to do with abstraction inversion. The problem here is >> that Ada does not have multiple protected actions. Same problem with >> tasks, there cannot be rendezvous with multiple tasks. It is much work to >> solve that. Especially to convince people that prefix notation is >> inherently bad. > > Not quite right. A decision was made early in the development of Ada > that a CALLING task can only rendezvous with a single task. A task can > accept arbitrarily many calls simultaneously. You might prefer that the > rule worked the other way around, but we felt that we had to choose one > or the other. Many-to-many rendezvous looked just too messy to > contemplate. Right, I do not know how difficult it would be to implement, but definitely, it would make statical analysis more complicated. So it is not clear whether this feature would give any real advantage. > AFAIK, the only pattern that uses this feature is the one where you have > multiple servers and a task that allocates requesting tasks to servers. > I have actually used this pattern. Thank you for the example, because I never needed multiple rendezvous. -- Regards, Dmitry A. Kazakov www.dmitry-kazakov.de