Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 (Tek) 9/26/83; site tekecs.UUCP Path: utzoo!linus!decvax!harpo!floyd!vax135!ariel!houti!hogpc!drux3!ihnp4!zehntel!tektronix!tekecs!patcl From: patcl@tekecs.UUCP Newsgroups: net.lang Subject: Re: Re: Modula-2 faults Message-ID: <3051@tekecs.UUCP> Date: Mon, 10-Oct-83 16:47:03 EDT Article-I.D.: tekecs.3051 Posted: Mon Oct 10 16:47:03 1983 Date-Received: Wed, 12-Oct-83 23:12:50 EDT Organization: Tektronix, Wilsonville OR Lines: 23 Subject: Re: Re: Modula-2 faults -------- Export of record types whose field types are imported does not really create any conceptual problem. It is no problem for the compiler, since all relevant symbol table information should be available in the definition module which exports the field type. For example, if A exports type foo = (red,green,blue), and B exports type bar = RECORD glorch: foo; END, then during compilation of the definition module for B, the relevant information about foo would have been inserted in B's symbol table, which in turn would be available to an importer of bar. Note that this information may only be necessary to determine the size of bar, for code generation purposes. The scope of foo need not be the same as the scope of bar, if foo is not exported and imported to all modules that bar is; the field glorch may still be used, for example, as an argument to an imported procedure, without having direct access to its type. Pat Clancy Tektronix