notes@iuvax.UUCP (03/28/84)
#N:iuvax:8600008:000:916 iuvax!cjl Mar 27 15:01:00 1984 SEPARATE COMPILATION and MODULE : Module is a tool for logical program abstraction. Mutually dependent modules are not good program design. Separate compilation is a different issue which is not explicitly supported in Modula-2. It is hidden under the definition modules and implementation modules. The non-recursive restriction on modules precludes the separate compilation of mutually recursive procedures. So a rationale for relaxing the non-recursive modules would be for separate compilation of mutually recursive procedures only. In Modula-2, this means cycles should be allowed among the definition modules and implementation modules if there is no initialization block in the implementation module. In addition, program should be well documented to reflect the use of implementation module for the purpose of separate compilation, not a logical modularization. C.J.Lo, IUPUI cjl@Indiana@CSNet-Relay