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: Re: [TUHS] Book Recommendation
Date: Tue, 16 Nov 2021 12:00:52 -0500	[thread overview]
Message-ID: <CAKH6PiXinxBQGRqoeGMcG9CwTA5BNeU-LY164f-ZLYA4obsyuA@mail.gmail.com> (raw)

>> The former notation C(B(A)) became A->B->C. This was PL/I's gift to C.

> You seem to have a gift for notation. That's rare.  Curious what you think of APL?

I take credit as a go-between, not as an inventor. Ken Knowlton
introduced the notation ABC in BEFLIX, a pixel-based animation
language. Ken didn't need an operator because identifiers were single
letters. I showed Ken's scheme to Bud Lawson, the originator of PL/I's
pointer facility. Bud liked it and came up with the vivid -> notation
to accommodate longer identifiers.

If I had a real gift of notation I would have come up with the pipe
symbol. In my original notation ls|wc was written ls>wc>. Ken Thompson
invented | a couple of months later. That was so influential that
recently, in a paper that had nothing to do with Unix, I saw |
referred to as the "pipe character"!

APL is a fascinating invention, but can be so compact as to be
inscrutable. (I confess not to have practiced APL enough to become
fluent.) In the same vein, Haskell's powerful higher-level functions
make middling fragments of code very clear, but can compress large
code to opacity. Jeremy Gibbons, a high priest of functional
programming, even wrote a paper about deconstructing such wonders for
improved readability.

Human impatience balks at tarrying over a saying that puts so much in
a small space. Yet it helps once you learn it. Try reading transcripts
of medieval Arabic algebra carried out in words rather than symbols.
Iverson's hardware descriptions in APL are another case where
symbology pays off.

Doug

             reply	other threads:[~2021-11-16 17:04 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-16 17:00 Douglas McIlroy [this message]
2021-11-16 17:54 ` [TUHS] Book Recommendation [ reallly inscrutable languages ] Jon Steinhart
2021-11-16 17:57   ` Ron Natalie
2021-11-16 18:00   ` Dan Cross
2021-11-16 18:04   ` Larry McVoy
2021-11-16 19:53     ` Richard Salz
2021-11-16 20:05       ` Warner Losh
2021-11-17 19:12   ` Norman Wilson
2021-11-17 20:46     ` Dan Stromberg
2021-11-17 20:52       ` Warner Losh
2021-11-17 21:17         ` Dan Cross
2021-11-17 22:21           ` Rob Pike
2021-11-18  0:35             ` Larry McVoy
2021-11-19 20:04               ` Alan Glasser
2021-11-19 20:14                 ` Larry McVoy
2021-11-19 21:48                   ` Alan Glasser
2021-11-19 22:28                     ` Larry McVoy
2021-11-19 23:17               ` Alan Glasser
2021-11-18 21:03             ` George Michaelson
2021-11-18 21:39               ` Rob Pike
2021-11-17 22:36     ` Bakul Shah
2021-11-18  0:56       ` Dan Stromberg
     [not found] ` <CAKH6PiXinxBQGRqoeGMcG9CwTA5BNeU-LY164f-ZLYA4obsyuA@mail.g mail.com>
2021-11-16 18:47   ` [TUHS] Book Recommendation John Foust via TUHS
2021-11-16 20:35 ` Bakul Shah
2021-12-02 21:35 ` Duncan Mak
2021-12-02 22:32   ` Bakul Shah
2021-12-02 22:34   ` Rob Pike
  -- strict thread matches above, loose matches on Subject: below --
2021-12-03  2:50 Douglas McIlroy
2021-12-06  4:25 ` Adam Thornton
2021-12-06  4:42   ` Dan Halbert
2021-12-06  5:18     ` Charles H. Sauer
2021-11-24 15:50 Norman Wilson
2021-11-16 19:49 Douglas McIlroy
2021-11-16 20:02 ` Dan Cross
2021-11-16 23:16   ` Douglas McIlroy
2021-11-16 14:57 Douglas McIlroy
2021-11-16 15:22 ` Richard Salz
2021-11-16 15:52 ` Ron Natalie
2021-11-23  2:28 ` Mary Ann Horton
2021-11-23  7:57   ` Henry Bent
2021-11-23  8:10     ` arnold
2021-11-23  8:28       ` Henry Bent
2021-11-23 17:26     ` Adam Thornton
2021-11-23 18:54       ` Ron Natalie
2021-11-23 19:04         ` Al Kossow
2021-11-23 19:39           ` Lawrence Stewart
2021-11-23 19:08       ` Ron Natalie
2021-11-23 21:54   ` Thomas Paulsen
2021-11-24 15:18     ` Richard Salz
2021-11-24 15:45       ` Larry McVoy
2021-11-24 18:34       ` Rich Morin
2021-11-24 18:40         ` Larry McVoy
2021-11-24 19:39           ` Clem Cole
2021-11-24 20:02             ` Larry McVoy
2021-11-25 10:26           ` Tom Ivar Helbekkmo via TUHS
2021-11-24 20:13       ` arnold
2021-11-24 20:18         ` Will Senn
2021-11-25  7:22         ` arnold
2021-11-24 20:15       ` Rob Pike
2021-11-24 20:21         ` joe mcguckin
2021-11-24 20:27         ` Rob Pike
2021-11-24 21:27           ` Richard Salz
2021-11-24 22:19       ` Charles Anthony
2021-11-16  3:16 Douglas McIlroy
2021-11-16  4:08 ` G. Branden Robinson
2021-11-16 14:56   ` Clem Cole
2021-11-16 15:37     ` Richard Salz
2021-11-16 15:50       ` Adam Thornton
2021-11-16 17:02     ` Will Senn
2021-11-16 21:38       ` John Cowan
2021-11-16 21:46         ` Will Senn
2021-11-16 18:27     ` Jon Steinhart
2021-11-16 18:44       ` Heinz Lycklama
2021-11-14 14:37 Clem Cole
2021-11-14 14:55 ` Dennis Boone
2021-11-14 16:35   ` Ralph Corderoy
2021-11-14 18:20     ` Larry McVoy
2021-11-14 18:44     ` Clem Cole
2021-11-14 18:52       ` Ralph Corderoy
2021-11-14 19:27         ` Clem Cole
2021-11-15  9:49           ` Ralph Corderoy

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=CAKH6PiXinxBQGRqoeGMcG9CwTA5BNeU-LY164f-ZLYA4obsyuA@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).