Marty,
Unless I'm misunderstanding here, what you're seeing is dynamic linking. Assume you have a MAIN.EXE. In it you issue SET PROCEDURE TO Foo (with Foo being a prg containing commonly used procedures and function). If you then issue DO another.exe or DO another.app all those functions are available to the "another" program with out their having to issue the SET PROCEDURE... call. This is because the programs are running in the same address space. Further, when you compile the "another" app or exe, you can add the Foo procedure, but mark it as excluded. No tokenized code from the procedure file will be included. The only purpose for this is so that the compiler can resolve the references to the procedures and functions in Foo.
George
Ubi caritas et amor, deus ibi est