Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cwjcc!gatech!purdue!decwrl!hplabs!hpda!hpcuhb!hpcllla!hpclisp!hpcllmr!mark From: mark@hpcllmr.HP.COM (Mark Rozhin) Newsgroups: comp.lang.pascal Subject: Re: Modules and separate compilation Message-ID: <950019@hpcllmr.HP.COM> Date: 3 Feb 89 20:58:08 GMT References: <2123@elxsi.UUCP> Organization: Hewlett-Packard Calif. Language Lab Lines: 23 hp pascal handles it the following way: when a module is compiled, it's interface (export part) is written somewhere. by default, it is written to a special spot in the object file. optionally, it can be written to a 'module library'. we don't much like this second mechanism, cause now you have two files to worry about instead of one. when importing, the user can tell the compiler where to look for the module interface stuff (either an object or archive (come to think of it, an executable library should work too), or a module library). if the stuff is not found there, the compiler looks in a standard place for module stuff. (i've forgotten where it is.) the drawback of the whole thing is that you encode information about where to find module interfaces right in the source. what if you move source? what if you have a big piece of software and you swap versions of different module? an environment sounds nice. modules just float about in some hyperspace and the compiler & development system suck them out. m