Algol 60 doesn't support locally allocated dynamic arrays...
This is not correct. I do not know if there still exists a machine capable of running a true ALGOL60 compiler of old times. I replace "does" with "did" therefore. One of the two computers I actually used with ALGOL60 was the PERM, operative since 1956 (yet without an ALGOL compiler first) and moved to the Deutsches Museum, München, in 1974. The other one was by ICT (later ICL) from the UK, put into operation in 1967 for a German scientific institution, the Gesellschaft für Strahlenforschung, Neuherberg, where I did some programming and consulting and lectured on ALGOL60 in 1968.
ALGOL itself was not exclusively designed as a programming language, but in the first place as a means to describe algorithms in detail and aiming at reproducible results also if humans made paper sheets to perform the calculations. None of the compilers I knew implemented the language to its full extent. In specific there was none which implemented the (interesting!) concept of "call by name for expressions as actual parameters" (
Report1 11.1) above an experimental level.
However, arrays declared locally with index ranges calculated from variables or parameters were fully implemented by the compilers on both the machines. This feature was also part of the IFIP subset of ALGOL60 definition. (Recursive procedures were not.) See also attached odt which contains two relevant pages from the
Report as read by IRIS V14. The element type ('real') was implicit.
1Report: ALGOL-Manual der ALCOR-Gruppe, Richard Baumann (Bearb.), Oldenbourg, München 1965
(ALCOR was a blend for "Algorithm Converter", the compilers.)