From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29987 invoked from network); 16 Nov 2021 17:04:16 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 16 Nov 2021 17:04:16 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id F0E589C2E5; Wed, 17 Nov 2021 03:04:11 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 11BC29C203; Wed, 17 Nov 2021 03:01:12 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=dartmouth.edu header.i=@dartmouth.edu header.b="n1MJVKeD"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 5AB999C203; Wed, 17 Nov 2021 03:01:11 +1000 (AEST) Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by minnie.tuhs.org (Postfix) with ESMTPS id 619449C1E1 for ; Wed, 17 Nov 2021 03:01:10 +1000 (AEST) Received: by mail-wm1-f51.google.com with SMTP id az33-20020a05600c602100b00333472fef04so2545983wmb.5 for ; Tue, 16 Nov 2021 09:01:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dartmouth.edu; s=google1; h=mime-version:from:date:message-id:subject:to; bh=W6snCwnbdAqk6iRuJu/F4oNFHbJRI2hLnqGwFQzbmKA=; b=n1MJVKeD65V0pyvZlVeLoJl/aVj6P2qJGXQj9wCGYjKUf0bk1zpPTkeeNM7+ZDaOm1 87bWw5yhdjx3B53FOxiN8CG1clDMRSYWBYoZEQaegTXK7+8N9hcxBxPimisq3WkN8C6g C9feqi2JZgFevaLR2+wmQ+xUKPP/sfaQx3RFy0wxMNUUJix8prnhzNhzVorgVABNFOaj prjya9K7P16f5kH2uTcDW08wLdVNwEnuWIt3tLGMwH1JLhfe6cSVvB9/G7GwaCf02m64 hLQMsuRl0UN8NeYf70y3LTLYfj1TdWkWbZpn/a8CzJDn6++7+LRpRvcHS1AU3bu0YUOc QRAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=W6snCwnbdAqk6iRuJu/F4oNFHbJRI2hLnqGwFQzbmKA=; b=hJLcZ2874HyQsIyj8QJFXoi8rW9LB5L4pgHaUiZvWRo63zvWESYoB9t4hsVI3PJ8/t nMwptotJeHVbXHCEw4aVyCfXqdaoUAvKD5q/g7hJscTgh76SygdYGhE3MuuJze298beS 9M4EaA7Jft2/QdF7wE7TOteQkEQfcaFE0KrIY39GXK8L7I8diiawaFLYeVefPq2SRAig smXazHCdWQtv4bbdolS8Yg5B5FJosOJUBlaEGP2+yiSEk6ZNvD/lYhIB9R5cjcj4X7/m zjs8c4OdGbBTSiNAukOrtvbEKgl8Jdm6HW9XwCiFDJ7zLBrqZQMcJ0InFkWMdZOO3eCo RfYw== X-Gm-Message-State: AOAM532pyp6FD/kyLfmvN550RolmnWOplhnax7sXYEgNlNmFIkkhu8ZN nEUMcsSMDWDkkqI9Axn33vxm3c6JdoJuy/cz6ekV1hYmSXPREQ== X-Google-Smtp-Source: ABdhPJwDKGhJGxrievvz+V4qFali4oiPR5bwCpp102PnHz43HHNiG7Zl0v4mFgNbqBpuj5lK1bJRyfhU80FZeWbGELc= X-Received: by 2002:a05:600c:2dc8:: with SMTP id e8mr9347911wmh.189.1637082068428; Tue, 16 Nov 2021 09:01:08 -0800 (PST) MIME-Version: 1.0 From: Douglas McIlroy Date: Tue, 16 Nov 2021 12:00:52 -0500 Message-ID: To: TUHS main list Content-Type: text/plain; charset="UTF-8" Subject: Re: [TUHS] Book Recommendation X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" >> 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