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,a714625b3763f46e X-Google-Attributes: gid103376,public From: Ken Garlington Subject: Re: Modest proposal, 3 of 3 Date: 1996/11/25 Message-ID: <32999420.53AA@lmtas.lmco.com>#1/1 X-Deja-AN: 200677066 references: <575aq0$t4j@netline-fddi.jpl.nasa.gov> content-type: text/plain; charset=us-ascii organization: Lockheed Martin Tactical Aircraft Systems mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02 (Macintosh; I; 68K) Date: 1996-11-25T00:00:00+00:00 List-Id: Van Snyder wrote: > > BACKGROUND > > This is OK, because there are only two things you can > do with pointers (in a sane language): dereference them and copy them. I'm not sure what a "sane" language is (isn't SANE a numerical representation?), but I have certainly done mathematics with Ada accesses (systems programming-type algorithms), and would like to continue to do so. Also, I'm not sure what "copy" entails, but I assume this would permit access values to be passed to subprograms. > If one has a datum, say "A: T", and one later decides it's necessary to > allocate it from the free store, the type of A changes from T to "access > T". That's not too bad. But all the references change from "A" to > "A.ALL". That's bad. Isn't this the general problem of making object declarations visible to clients, as opposed to providing access routines (e.g., as an abstract data type/object)? Other changes along these lines include changing from floating to fixed point, chracter to a one-element string, etc. Certainly, with methodologies like ADARTS, the programmer knows that a global variable in a package spec is a potential maintenance issue later. It doesn't seem that this is strong enough justification, given the incompatibilities it would appear to introduce in existing code. (Doing a "simple" source translation isn't so simple, I suspect, given all the ways in which access values can be used.) -- LMTAS - "Our Brand Means Quality" For more info, see http://www.lmtas.com or http://www.lmco.com