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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,799e6e37c90ca633 X-Google-Attributes: gid103376,public From: Brian Rogoff Subject: Re: Future Ada language revisions? Date: 1998/10/21 Message-ID: #1/1 X-Deja-AN: 403819586 References: <70lquh$mrp@netline.jpl.nasa.gov> Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: 909035095 6387 bpr 206.184.139.136 MIME-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-10-21T00:00:00+00:00 List-Id: On Thu, 22 Oct 1998, Robert A Duff wrote: > vsnyder@vanpcjpl.nasa.gov (Van Snyder) writes: > > > The reason that internal procedures can't be used for actual arguments seems > > to revolve around the possibility that their "addresses" might be copied, > > because when they appear as formal arguments they're "access to procedure" > > with no additional restrictions. Right? > > Right. > > > Could we have another annotation for access formal arguments that prohibits > > using them for anything other than actual arguments, and dereferencing them? > > Say, "limited"? > > The Ada 9X team proposed exactly that. As an alternative, we also > proposed a set of rules that would allow copying, but not to a > more-global place. Both of these proposals were rejected, primarily on > the grounds that they are hard to implement if the compiler uses a > "display" to implement a procedure's environment, rather than a "static > link". > > I think it was a mistake. I liked the "limited" idea best. It matches > Pascal's semantics for passing procedures as parameters. This is the > only case I can think of where Ada is less powerful than Pascal. I take it that you've changed your mind then, since you were the author of the "limited access to subprogram" proposal, and at the end of that proposal you had recommended that it not be adopted. What changed your mind? I have mixed feelings; on one hand I *really* wish that Ada had this feature, on the other I think that penalizing implementors who used displays wouldn't have been such a good idea. If there is a future enhanced Ada, this is one of those things that I hope makes it in there, so I hope all implementors are at least looking at it now so the argument of "too much change in too little time" no longer applies. -- Brian