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,5e40665f885c514 X-Google-Attributes: gid103376,public From: stt@houdini.camb.inmet.com (Tucker Taft) Subject: Re: Modest proposal, 1 of 3 Date: 1996/11/26 Message-ID: #1/1 X-Deja-AN: 200925606 sender: news@inmet.camb.inmet.com (USENET news) x-nntp-posting-host: houdini.camb.inmet.com references: <572q86$g7m@netline-fddi.jpl.nasa.gov> organization: Intermetrics, Inc. newsgroups: comp.lang.ada Date: 1996-11-26T00:00:00+00:00 List-Id: Van Snyder (vsnyder@math.jpl.nasa.gov) wrote: : ... : PROPOSAL for the next standardization of Ada : Allow the "limited" keyword as an argument-passing mode, similar to : "in". The interpretation is that arguments of mode "limited" can only be used : to access something, or be bound as an actual argument to a formal argument of : "limited" mode. In particular, as for other "limited" objects, assignment is : not defined. : Thus, one cannot store a copy of the argument into a more global : variable. : Then, allow access-to-procedure constants to be bound as actual : arguments to formal arguments of the appropriate type, but only : so long as the formal argument is of "limited" mode. Actually, early in the Ada 9x process we did propose almost exactly this approach to handle passing non-assignable access values, but at the time we were in a "downsizing" mode. They was also reconsidered right near the end, but again, they didn't make the cut. One reason that they didn't make the cut is that they are fundamentally redundant with the notion of generic formal subprograms. In fact, generic formal subprograms are somewhat more flexible, since one can pass intrinsic operations such as Enum'Image as a generic formal subprogram. The downside is that generics generally imply macro-like code expansion (though not in all implementations). The other reason these didn't make the cut is that they are a bit of an implementation burden for implementations that use "displays" rather than "static links" to support up-level references. However, there were plenty of supporters for a feature like this, and I'm sure it will be debated again every time changes to Ada are considered. : What fraction of Americans believe | Van Snyder : Wrestling is real and NASA is fake? | vsnyder@math.jpl.nasa.gov -Tucker Taft stt@inmet.com http://www.inmet.com/~stt/ Intermetrics, Inc. Cambridge, MA USA