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_20,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!yunexus!geac!daveb From: daveb@geac.UUCP (David Collier-Brown) Newsgroups: comp.lang.ada Subject: Re: Dynamic Address Clauses?? Summary: sidebar on "transparent" Keywords: dynamic address change. Message-ID: <2878@geac.UUCP> Date: 15 Jun 88 12:26:19 GMT Article-I.D.: geac.2878 References: <8806011944.AA06549@ti.com> <5140@nsc.nsc.com> <2817@geac.UUCP> <5151@nsc.nsc.com> Reply-To: daveb@geac.UUCP (David Collier-Brown) Organization: The Geac Multics Department. List-Id: Regarding the use of: procedure P; for P use at DYNAMIC; In article <2817@geac.UUCP> daveb@geac.UUCP (David Collier-Brown) writes: || || Well, I can suggest two cases where relocation of procedures which || is transparent to the program may be of use: ^^^^^^^^^^^ In article <5151@nsc.nsc.com> rfg@nsc.UUCP (Ron Guilmette) writes: | First, note that the EXPLICIT use of the address clause implies very clearly | that whatever is happening is not "transparent" to the user's program, but | rather that the program must actively participate in defining (or using) | the "effects" which are to occur. OOPS! I used "transparent" ambiguously. What I really meant was that the the address to use is marked as unusual only at one place, and that the **programmer** can regard its relocation as occurring transparently at runtime. This is in contrast to "C", where relocation is done explicitly and obviously at every reference to or call to the procedure: int (*the_fcn_pointer)(); ... the_fcn_pointer = dynamic(); ... i = (*the_fcn_pointer)(is,somewhat,visible); What I should have said is that it meets modern maintainability standards, not that it was transparent (save in a trivial sense). | The question I would now like to pose to the comp.lang.ada readers is this: | "Should a dynamic address clause for a procedure be considered to be simply | a DECLARATIVE statement (i.e. the procedure ALREADY resides here) or should | it be considered to be an EXECUTABLE statement (i.e. PUT the procedure code | at this location, regardless of where it currently resides)?" | I have been assuming the latter interpretation. What do y'all think? If it was a simple variable, what would the "use at" clause mean? Should this be the same for a procedure? I **think** its declarative... --dave -- David Collier-Brown. {mnetor yunexus utgpu}!geac!daveb Geac Computers Ltd., | "His Majesty made you a major 350 Steelcase Road, | because he believed you would Markham, Ontario. | know when not to obey his orders"