Each user-defined function or named entity has a data type. (The type of an entity accessed by host or use association is determined in the host scoping unit or accessed module, respectively.) The type of a name is determined, in the following sequence, in one of three ways:
In a given scoping unit, if a letter, dollar sign, or underscore has not been specified in an IMPLICIT statement, the implicit type used is the same as the implicit type used by the host scoping unit. A program unit and interface body are treated as if they had a host with an IMPLICIT statement listing the predefined conventions.
The data type of a literal constant is determined by its form.