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.0 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC,UNRESOLVED_TEMPLATE autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.ARPA Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!mit-multics.arpa!Mats_Ohlin_FOA2%QZCOM.MAILNET From: Mats_Ohlin_FOA2%QZCOM.MAILNET@MIT-MULTICS.ARPA Newsgroups: net.lang.ada Subject: Mutually Recursive Data-Structures in Ahis on csnet a couple of times a Message-ID: <123750@QZCOM> Date: Sat, 21-Sep-85 06:27:31 EDT Article-I.D.: QZCOM.123750 Posted: Sat Sep 21 06:27:31 1985 Date-Received: Sun, 22-Sep-85 23:55:36 EDT References: <123604@QZCOM> Sender: daemon@ucbvax.ARPA Reply-To: ADA_mailing_list%QZCOM.MAILNET@MIT-MULTICS.ARPA Organization: The ARPA Internet List-Id: This problem is well known in other languages, e.g. SIMULA. The problem is not covered in the language definition, however at least some systems allow the user to compile the first unit in which the compilation fails *but still generates some attribute information /used by the compiler when compiling dependent modules/*. This first compilation then lacks the necessary EXTERNAL declaration (==> module 2). Then compiling module 2 is possible even if it is referring to an uncomplete definition of module 1. Recompiling module 1, this time including the EXTERNAL declaration, recompiling module 2 and finally recompiling module 1 solves the problem. Cumbersome maybe, but it works and with full security.