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=2.6 required=5.0 tests=BAYES_40,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!pyrnj!mirror!cca!creedy From: creedy@cca.UUCP (Christopher Reedy) Newsgroups: net.lang.ada Subject: Re: ForTran-Ada + flamette + questi Message-ID: <9404@cca.UUCP> Date: Thu, 7-Aug-86 09:26:33 EDT Article-I.D.: cca.9404 Posted: Thu Aug 7 09:26:33 1986 Date-Received: Sat, 9-Aug-86 08:01:35 EDT References: <8129@cca.UUCP> <4700073@ada-uts> Reply-To: creedy@cca.UUCP (Christopher Reedy) Organization: Computer Corp. of America, Cambridge List-Id: Since I didn't see any responses to this: In article <4700073@ada-uts> stt@ada-uts writes: > >Unfortunately, passing a task doesn't do the trick >because the task type (which must be specified) implies >the code for the task. Of course tasks are great for >holding onto a bit of state, if that is your primary goal. There was a nice talk given at the 1985 Ada Europe conference in Paris on this issue. The thrust of the talk was that one needs an additional task to act as an intermediary between the invoking and the invoked tasks. The intermediary task makes no entry calls, simply receiving calls from both of the other tasks. Thus, the invoking task need not know the type of the invoked task. (If anyone would like to see a simple example, I have one. However, it takes about three pages of listing.) In most cases this seems like a lot of overhead to go through to make a variable procedure call. However, the classical asynchronous buffer is an example of this sort of approach. In fact, if one was to combine the intermediary task with an asynchronous buffer or some similar mechanism, this approach might make a great deal of sense. Chris Reedy Computer Corporation of America --Standard disclaimer: All opinions are my own.--