In Algol 60 procedure declarations, the 'specification' part was optional for by-name parameters. The specification is what gives (loosely speaking) the type of parameter - whether it's real, integer, boolean, an array of one of those, a procedure, a label, etc.
This to my modern sensibility is somewhat strange. It means the compiler has no information about the types of the parameters and therefore no information about legal invocations.
Nevertheless, the Revised Report does say:
4.7.5.5 Any formal parameter may have restrictions on the
type of the corresponding actual parameter associated with
it (these restrictions may, or may not, be given through
specifications in the procedure heading).
So, we're in the position that the compiler can decide what actual parameters are legal, but we don't need to give it the information which would make it obvious (to the compiler and the reader).
What is the reason behind this state of affairs? I can guess at one or two: pure oversight when changes might still have been made, the possible inclination towards "open subroutines" that can be noticed elsewhere, or lack of agreement between participants.
The implementations I am most familiar with (KDF9: Whetstone Algol and Kidsgrove Algol) made specifications mandatory.
For the record, here is the syntax of procedure declarations, bold type omitted.
5.4 Procedure declarations
5.4.1 Syntax.
<formal parameter> ::= <identifier>
<formal parameter list> ::= <formal parameter> | <formal parameter list>
<parameter delimiter><formal parameter>
<formal parameter part> ::= <empty> | (<formal parameter list>)
<identifier list> ::= <identifier> | <identifier list>,<identifier>
<value part> ::= value <identifier list>; | <empty>
<specifier> ::= string | <type> | array | <type> array | label | switch |
procedure | <type> procedure
<specification part> ::= <empty> | <specifier><identifier list>; |
<specification part><specifier><identifier list>
<procedure heading> ::= <procedure identifier><formal parameter part>;
<value part><specification part>
<procedure body> ::= <statement> | <code>
<procedure declaration> ::= procedure <procedure heading><procedure body> |
<type> procedure <procedure heading><procedure body>