z atrybutem external), a definicja zmiennej znajduje się w tym innym module.
Podprogramy Stosowanie definicji podprogramu i oddzielnej deklaracji w zasadzie wymagane jest jak dla zmiennych przy podziale podprogramów na moduły. Przykładowo w języku C powszechnie stosuje się pliki nagłówkowe włączane do danego modułu, zawierają deklaracje potrzebnych podprogramów i innych elementów, natomiast ich definicje realizowane są niezależnie. Takie postępowanie w pewnych językach jest także wymagana dla podprogramów użytych przed ich zdefiniowaniem w ramach jednego modułu. Tak jest np. w języku Pascal, w którym musi wystąpić deklaracja zapowiadająca z użyciem frazy forward występującym po nagłówku podprogramu, w przypadku gdy definicja podprogramu znajduje się dalej.
procedure pr1(parametry); forward; { deklaracja podprogramu pr1 } procedure pr2; { definicja podprogramu pr2 – początek, jej nagłówek jest równocześnie deklaracją tego podprogramu } begin pr1 end; { definicja podprogramu pr2 – koniec} procedure pr1(parametry); { definicja podprogramu pr1 – początek } begin { kod procedury } end;