Programming Language One.
An attempt to combine the best features of Fortran , COBOL and ALGOL 60 . Developed by George Radin of IBM in 1964. Originally named NPL and Fortran VI. The result is large but elegant. PL/I was one of the first languages to have a formal semantic definition, using the Vienna Definition Language . EPL , a dialect of PL/I, was used to write almost all of the Multics operating system . PL/I is still widely used internally at IBM . The PL/I standard is ANS X3.53-1976.
PL/I has no reserved word s. Types are fixed, float, complex, character strings with maximum length, bit strings, and label variables. Array s have lower bounds and may be dynamic. It also has summation, multi-level structures, structure assignment , untyped pointers, side effect s and aliasing . Control flow constructs include goto; do-end groups; do-to-by-while-end loops; external procedures; internal nested procedures and blocks; generic procedure s and exception handling . Procedures may be declared recursive . Many implementations support concurrency ('call task' and 'wait(event)' are equivalent to fork /join) and compile-time statements.
LPI is a PL/I interpreter .
["A Structural View of PL/I", D. Beech, Computing Surveys, 2,1 33-64 (1970)].