A procedure constant is an identifier declared as a procedure. R is the result type, which can be any type but an open array type. ANY representing the set of all exceptions. Name is an identifier that names the parameter. The parameter names must be distinct.
Type is the type of the parameter.
Default is a constant expression, the default value for the parameter. If Type is omitted, it is taken to be the type of Default . If both are present, the value of Default must be a member of Type . When a series of parameters share the same mode, type, and default, Name can be a list of identifiers separated by commas. Such a list is shorthand for a list in which the mode, type, and default are repeated for each identifier.