The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Douglas McIlroy <douglas.mcilroy@dartmouth.edu>
To: TUHS main list <tuhs@minnie.tuhs.org>
Subject: [TUHS] PL/I stuff - was: Book Recommendation
Date: Wed, 24 Nov 2021 18:54:57 -0500	[thread overview]
Message-ID: <CAKH6PiWUcRErWURZofEOwvnPTJDzwcVeEf41mu4HEe6x9j0qSg@mail.gmail.com> (raw)

> 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

             reply	other threads:[~2021-11-24 23:57 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 23:54 Douglas McIlroy [this message]
2021-11-25 16:35 ` Paul Winalski
2021-11-25 18:15   ` Steve Nickolas
2021-11-26 16:59   ` Paul Winalski
2021-11-26 20:30     ` Tom Ivar Helbekkmo via TUHS
2021-11-26 21:22       ` John Cowan
2021-11-27  0:01         ` George Michaelson
2021-11-27 16:12           ` Paul Winalski
  -- strict thread matches above, loose matches on Subject: below --
2021-11-27 15:25 Noel Chiappa
2021-11-27 15:53 ` Charles H Sauer
2021-11-16 14:57 [TUHS] " Douglas McIlroy
2021-11-23  2:28 ` Mary Ann Horton
2021-11-23 21:54   ` Thomas Paulsen
2021-11-24 15:18     ` Richard Salz
2021-11-24 22:19       ` Charles Anthony
2021-11-24 22:29         ` [TUHS] PL/I stuff - was: " Will Senn
2021-11-24 23:00           ` Rob Pike
2021-11-24 23:13             ` Richard Salz
2021-11-25  1:48           ` Nelson H. F. Beebe
2021-11-25  2:03             ` George Michaelson
2021-11-25 14:47               ` Clem Cole
2021-11-26 22:20                 ` Alan Glasser
2021-11-26 22:33               ` Alan Glasser
2021-11-27  0:23               ` Dennis Boone
2021-11-27  0:30                 ` Larry McVoy
2021-11-27  0:47                   ` Charles H. Sauer
2021-11-27  2:43                     ` Alan Glasser
2021-11-27  0:56                   ` Warner Losh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKH6PiWUcRErWURZofEOwvnPTJDzwcVeEf41mu4HEe6x9j0qSg@mail.gmail.com \
    --to=douglas.mcilroy@dartmouth.edu \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).