Contents   Index   Search   Previous   Next

Section 6: Subprograms

   {subprogram} {procedure} {function} A subprogram is a program unit or intrinsic operation whose execution is invoked by a subprogram call. There are two forms of subprogram: procedures and functions. A procedure call is a statement; a function call is an expression and returns a value. The definition of a subprogram can be given in two parts: a subprogram declaration defining its interface, and a subprogram_body defining its execution. [Operators and enumeration literals are functions.]
To be honest: A function call is an expression, but more specifically it is a name.
   {callable entity} A callable entity is a subprogram or entry (see Section 9). {call} A callable entity is invoked by a call; that is, a subprogram call or entry call. {callable construct} A callable construct is a construct that defines the action of a call upon a callable entity: a subprogram_body, entry_body, or accept_statement.
Ramification: Note that ``callable entity'' includes predefined operators, enumeration literals, and abstract subprograms. ``Call'' includes calls of these things. They do not have callable constructs, since they don't have completions.

Contents   Index   Search   Previous   Next   Legal