Many programming languages use name mangling in order to pass along more semantic information from the compilers to the linkers.
In addition to mangling, there is an excess of information in a function signature (stored internally to most compilers) which is not readily available, but may be accessed.
[3] Understanding the notion of a function signature is an important concept for all computer science studies.
The practice of multiple inheritance requires consideration of the function signatures to avoid unpredictable results.
In the ML family of programming languages, "signature" is used as a keyword referring to a construct of the module system that plays the role of an interface.
Abstract types are allowed and are encouraged for implementing general behavior that is common to all subtypes.
In the Objective-C programming language, method signatures for an object are declared in the interface header file.
For example, defines a method initWithInt that returns a general object (an id) and takes one integer argument.