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.
A
callable entity is
a subprogram or entry (see Section 9).
A callable
entity is invoked by a
call; that is, a subprogram call or entry
call.
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.