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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 1108a1,93fa00d728cc528e X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,93fa00d728cc528e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-10-27 19:07:36 PST Newsgroups: comp.lang.ada,comp.object From: rob@brewster.demon.co.uk (Rob Heyes) Path: nntp.gmd.de!newsserver.jvnc.net!darwin.sura.net!howland.reston.ans.net!news.sprintlink.net!demon!brewster.demon.co.uk!rob Subject: Re: SOLVED! Decoupled Mutual Recursion Challenger References: <38hcv3$j85@baleen.cs.ucla.edu> <38i65r$li2@network.ucsd.edu> <1994Oct25.164314.28453@swlvx2.msd.ray.com> Followup-To: comp.lang.ada X-Mailer: cppnews $Revision: 1.41 $ Organization: Kallisti Systems Date: Thu, 27 Oct 1994 04:25:51 +0000 Message-ID: <783257151snx@brewster.demon.co.uk> Sender: usenet@demon.co.uk Xref: nntp.gmd.de comp.lang.ada:16249 comp.object:16709 Date: 1994-10-27T04:25:51+00:00 List-Id: In article <1994Oct25.164314.28453@swlvx2.msd.ray.com> jgv@swl.msd.ray.com (John Volan) writes: > Eiffel is nice. I like Eiffel. But is Eiffel really enough? Why does > Eiffel need LACE to prop it up, for instance? LACE is used to build systems out of classes and to resolve naming conflicts. This is not a language level feature. IMHO it is a rather elegant solution to the problem. Are you telling me that you build systems in Ada *entirely* in Ada - how do you go about setting up special versions of a system that contain debugging code? If you tell me that it's a compiler switch or that it's in the makefile (I hope Ada doesn't use makefiles), or you tell the environment to do it then it's clearly done outside of Ada itself. > I dispute that this is a "nearly transparent" change to the language. > Other folks have already pointed out to you that Ada's > order-of-declaration dependencies reflect an underlying assumption > about declarations: They all get *elaborated* at run-time, in a > specific order. That is, every declaration "takes effect" at a > specific point in time during execution, and this might (or might not, > as the case may be) cause something to occur at run time (such as > initialization). This rule applies to *all* declarations in Ada, > including variable declarations, type declarations, subprogram > declarations, package declarations, what have you. What happens with mutually recursive procedures in Ada then? The above statement would seem to preclude the possibility if Ada is so consistent. If I've got hold of the wrong end of the stick then please tell me. Rob -- Q: What happens when the human body is completely submerged in water? A: The telephone rings Rob Heyes rob@brewster.demon.co.uk