A user-defined function may appear within a compilation group before the programs and functions that invoke them, or can be invoked from a separate program object with a prototype to ensure conformity.
Compilation group syntax