ALGOL 68
<language> An extensive revision of
ALGOL 60 by Adriaan van Wijngaarden et al.
ALGOL 68 was discussed from 1963 by Working Group 2.1 of
IFIP.
Its definition was accepted in December 1968.
ALGOL 68 was complex, and posed difficulties for both implementors and users.
It featured structural equivalence; automatic type conversion ("
coercion") including dereferencing; flexible arrays; generalised loops (for-from-by-to-while-do-od), if-then-elif-fi, an integer case statement with an 'out' clause; skip and
goto statements; blocks; procedures; user-defined operators; procedure parameters; concurrent execution (cobegin/coend); semaphores; generators "heap" and "loc" for dynamic allocation.
It had no abstract data types or separate compilation.