![]() |
BRUIN (BRown University INteractive language). A conversational dialect of PL/I developed
at Brown University. There is information to the effect that BRUIN was distributed with CP/67.
Munck, Robert G.;Proceedings of the twenty-fourth National conference of the ACM (1969): "Meeting the computational requirements of the university - The Brown University Interactive Language". |
![]() |
EPL (Early PL/I) was a subset of PL/I used to build the Multics Operating System
until a full PL/I compiler became available. An even more restricted subset
REPL
(Restricted EPL) was defined excluding PL/I features for which EPL generated
inefficient code.
www.multicians.org has information on EPL and Multics. |
![]() |
ESPL-1 (or ESPL/1) "an offshoot of PL/I called ESPL-1 (Electronic
Switching PL/1) which was basically PL/I with some variations for extra-easy bit handling
and so-on. ... it was - I believe - a joint venture between IBM and ITT" (now Alcatel).
[posted to usenet:comp.lang.pl1 Mon, 7 Oct 2002]. |
![]() |
GPL(General Programming Language) is the implementation language for Honeywell GCOS7.
Formerly HPL, the language was renamed GPL in the 1980s. HPL was originally developed as a cross-compiler
on Multics, written in PL/I.
Other Honeywell implementation languages were MLP, a PL/I-like language used to develop GCOS 64, implemented as a macro processor on the GE-635 which generated NAL assembler, PL/8, developed by Toshiba and used by Honeywell to develop GCOS8, and BPL developed by Honeywell and NEC. |
![]() |
NICOL "A small, limited, and modified subset called NICOL 1 was implemented by Massachusetts
Computer Associates in the fall of 1965 on the IBM 7094." Sammet, Jean; Programming Languages:
History and Fundamentals; Englewood Cliffs, NJ; Prentice-Hall, Inc., 1969; p.542. NICOL is possibly the only PL/I dialect ever implemented on a second-generation computer system.
Christensen, C., and Mitchell, R. Reference Manual for the NICOL 1 Programming Language, 3rd ed.;
Wakefield, MA; Computer Associates, CA-6511-3011; 1965. |
![]() |
PLAGO (Polytechnic Load And GO translator) is an interactive interpreted PL/I
subset for teaching developed at Brooklyn Polytechnic Institute.
Lawson, H.W., Habib, S., et.al; "PLAGO/360 A PL/I Machine Implementation", Polytechnic Institute of Brooklyn Report PIBEE 71-001, 1971. |
![]() |
PL/C (Programming Language/Cornell) is a large subset of the full PL/I language
designed by Cornell University in the early 1970s as a teaching language. PL/CT and PL/CS
are versions of the PL/C compiler.
Major PL/I features missing from PL/C are the preprocessor (all), and the BASED and CONTROLLED
storage attributes. PL/C adds extensive debugging and error recovery facilities.
Several PL/C-based cross compilers were developed at the University of North Carolina-Charlotte: PLCD generated code for the DEC PDP-11, PLCI for Interdata computers, and PLCV for Varian systems. Conway, Richard W., and Wilcox, Thomas R.; "Design and implementation of a diagnostic compiler for PL/I"; CACM 16(1973); 169-179. |
![]() |
PL/DS (Programming Language for Distributed Systems)
"provides PL/I-like coding power and is very similar to the Programming Language/Systems
(PL/S) and Programming Language/Advanced Systems (PL/AS) languages used internally by
IBM to produce other System/370 operating systems and control programs."
PL/DS was used by IBM to develop the DPPX operating system for the IBM 8100 system. It was ported to System/370 architecture (PL/DS2) and used to port DPPX to the 9370 processor. Abraham, R., and Goodrich, B.F., "Porting DPPX from the IBM 8100 to the IBM ES/9370: Feasibility and Overview"; IBM Systems Journal, 29(1); 1990; 90-140. |
![]() |
PL/M (Programming Language/Microcomputers) is a language devised by
Digital Research for Intel in 1972. PL/M was the implementation language for CP/M.
Versions include PL/M-80, PL/M-86, PL/M-386.
The PL/M-386 Programmer's Guide is available as a PDF document. The FORTRAN source for PL/M-80 and the C version generated by F2C can be found at Hobbes. A related language MPL (Motorola Programming Language) generates code for the Motorola 6800. |
![]() |
PL/P (Programming Language for PR1ME) is a high-level systems language used for the implementation of the PRIMOS operating system. Also known as SPL. |
![]() |
PL/PROPHET is a programming language for the PROPHET system used by
Pharmacologists. Castleman, P.A., et al; "The Implementation of the PROPHET System"; NCC 43, AFIPS (1974). |
![]() |
PL/S is an IBM systems programming language for S/360, S/370, and z/Server systems.
Versions of PL/S are PL/S-II, PL/S-III, and PL/AS. An early (late 60's)
version of PL/S was also known as BSL (Basic Systems Language).
IBM Corporation; Guide to PL/S II; International Business Machines Corp., 1974. GC28-6794-0. Wiederhold, Gio, and Ehrman, John; "Inferred SYNTAX and SEMANTICS of PL/S"; Proceedings of the SIGPLAN symposium on Languages for system implementation New York, ACM, Inc., October, 1971; p.111-121. |
![]() |
PL/zero is a minimal subset of PL/I designed for teaching introductory programming. Compare to SP/k. (Contrast with PL/0.) Apparently no actual PL/zero compiler ever existed, instead it was implemented as a notional subset of PL/C or other PL/I compilers. Kennedy, Michael, and Solomon, Martin B.; Structured PL/zero plus PL/one; Englewood Cliffs, NJ, Prentice-Hall, 1977. |
![]() |
PLUM (Programming Language for Univac Micros) is an interactive PL/I
developed by Sperry for programming microcomputers.
Zelkowitz, M. V.; PL/I Programming with PLUM; Geneva, IL, Paladin House Publishers, 1976. |
![]() |
PLUS (Programming Language for UNIVAC Systems) is a language designed by Sperry for systems programming. |
![]() |
PL-6 is a high-level systems language used by Honeywell for CP-6.
View a small sample of PL-6 code from an adventure game. |
![]() |
PL.8 is a high-level systems language used by IBM for the 801 RISC computer,
later used for the RS/6000.
Auslander,M., et. al., "An overview of the PL.8 Compiler", Proceedings of the SIGPLAN'82 Symposium on Compiler Writing. |
![]() |
REXX is an interpreted command language based on PL/I. REXX is the primary command
language for IBM VM, TSO, and OS/2 systems and is available for DOS, Windows, and Unix.
REXX has no variable declarations; all variables are character strings. A notable REXX feature is associative arrays, known as stems. "Programming Language - REXX" ANSI standard X3.274-1996. See The Rexx Language Association for additional information on Rexx. |
![]() |
SL/1 (Student Language/One) is an interpreter for a PL/I subset that ran on the IBM 1130 minicomputer.
Jackson, M., Boulton, P., and Lee, E.S.; "SL1 on the IBM 1130"; Proceedings of the Joint Meeting of Canadian and Midwestern Regions of COMMON; Chicago, 1967. |
![]() |
SP/k is a series of PL/I subsets (k=1:8) for instructional use in teaching
introductory computer programming. Compare to PL/zero.
Holt, R.C. et. al., "SP/k: A System for Teaching Computer Programming", CACM 20(1977); 301-309. There is also CSP/k (Concurrent SP/k). |
![]() |
XPL was designed in the sixties by McKeeman, Horning, and Wortman as
a small subset of PL/I plus extensions intended for compiler writing.
McKeeman, William M., Horning, James J., and Wortman, David B.; A Compiler Generator; Englewood Cliffs, NJ, Prentice-Hall, 1970. See the XPL website for additional information. |
![]() |
PL/I Extensions:
|
![]() |
Languages not related to PL/I:
APL an algorithmic language designed by Ken Iverson. PL/0 a simplified Pascal-like language. (contrast with PL/zero). PL/360 a high-level assembler language for IBM systems. PL/B (Programming Language for Business), the language formerly named DataBus. PL/SQL an Oracle database retrieval language resembling Ada. PL-11 a high-level assembler for PDP-11 systems resembling PL/360. PL-516 a high-level assembler for DDP-516 systems resembling PL/360. |
This table is an attempt to gather in one place information regarding languages in the PL/I family. It is neither original nor exhaustive. If anyone has additional information or pointers to web pages for any ot these or other PL/I-related languages, please contact me.
References:
Free Online Dictionary of computing, Denis Howe, editor.
The Language List, Bill Kinnersley, maintainer.