[TUHS] PL/I stuff - was: Book Recommendation

Douglas McIlroy douglas.mcilroy at dartmouth.edu
Thu Nov 25 09:54:57 AEST 2021


> What, if any, features does PL/I have that are not realized in a modern language?

Here are a few dredged from the mental cranny where they have
mouldered for 50+ years.

1. Assignment by name. If A and B are structs (not official PL/I
terminology), then A + B A = B copies similarly named fields of B to
corresponding fields in A.

2. Both binary and decimal data with arithmetic rounded to any
specified precision.

3. Bit strings of arbitrary length, with bitwise Boolean operations
plus substr and catenation.

4. A named array is normally passed by reference, as in F(A). But if
the argument is not a bare name, as in F((A)), it is passed by value.

5. IO by name. On input this behaves like assignment from a constant,
with appropriate type conversion.

6. A SORT statement.

7. Astonishingly complete set of implicit data conversions. E.g. if X
is floating-point and S is a string, the assignment X = S works when S
= "2" and raises an exception (not PL/I terminology) when S =  "A".

 My 1967 contribution to ACM collected algorithms exploited 3 and 4. I
don't know another language in which that algorithm is as succinct.

Doug


More information about the TUHS mailing list