Separate and Independent Compilation
Separate Compilation:
Compilation units can be compiled at different times
but not independent.
Note: order of compilation is important.
Independent Compilation:
Program units can be compiled without information about
other program units.
Note: not safe. type checking is global,
consistent or not