Functions are normally internal to a program. If they are at the nesting level immediately within the program, they are accessible from anywhere in the program. Functions can also be encapsuled in a package, and the function name exported. Functions can be compiled separately, and then linked with a program in which case they are globally accessible.