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=-1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 27118 invoked from network); 2 Dec 2021 22:34:48 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 2 Dec 2021 22:34:48 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 2BB739CFA9; Fri, 3 Dec 2021 08:34:45 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id ED9529CF50; Fri, 3 Dec 2021 08:32:48 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=pass (2048-bit key; unprotected) header.d=iitbombay-org.20210112.gappssmtp.com header.i=@iitbombay-org.20210112.gappssmtp.com header.b="Fat/p4wG"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 393429CF21; Fri, 3 Dec 2021 08:32:45 +1000 (AEST) Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) by minnie.tuhs.org (Postfix) with ESMTPS id 029DA9CE84 for ; Fri, 3 Dec 2021 08:32:44 +1000 (AEST) Received: by mail-qt1-f177.google.com with SMTP id m25so1352984qtq.13 for ; Thu, 02 Dec 2021 14:32:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iitbombay-org.20210112.gappssmtp.com; s=20210112; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=vqJ2I3WODhEPs1Au3S2O8QL07AYHvteGmIcPuVHv1Jc=; b=Fat/p4wGyLfXCAO1fCKgQqhz4/sgXaHpdbrqHy36/iDMwyP0XJOBTG17Zg+nDQgJ7g AkiMusSIMvpFyj2rlwppCgVPS+m9/xPf3EEP6muQpD20F1VyEMqgxk0CSqC266B08Hrs I2VV7XygWnzB7bvx2EKha5zjtozTMk9fn1j5s+bGJYbBrfbV7pAXmusXvweeINUlZQU9 uDoQNSmnvc0buam3zng212Ry9zEEJHCwhPIt+AG1AQ/HTqLG3QK1UvKDkWrmKnqmBL53 RydlUrLJ6lrggjNKJolXxEfqhntO25HEbV7dMzNjAGdyp32rvUIDOkllaej1LR/1Oy/2 QoPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=vqJ2I3WODhEPs1Au3S2O8QL07AYHvteGmIcPuVHv1Jc=; b=NlxFv4N6WB05E6aBtvrtlaHCIVkdRVedpYMOxfVcNRyvnCANQ5uDoRYEUEwRuclQRM VH4OEwE4w6uFDkw8kh48twJXdEhv95Tndad7C+x/B+Zff6GTD4H2Sf6/chAPSFVI3xpn W+QY2hv06y7EQanLLxbsjhIUZKUn87ydFy04+00D39DZ+3j+SVYslWLQ4LrEd1at80DL VHSZKDVjGKav5/MTn3POM17SBnKR6FLZK00zLtqZ0n65dutUrcGAQB8na8F6mMxTzAwq SABOUs5MZkgpY3kTPyjurjT5RduEuHAwdEjFLCgctKqJJafs4JS4FkSP3N7Zm0fxl2QS zrjA== X-Gm-Message-State: AOAM5302ggyf0tDEKkijPj6yWRC5IuSQiYPQ3USbIGU8j7rAchDCU2mS e/CR2Y7RolV2A9Q7QwcjYlg6Bw== X-Google-Smtp-Source: ABdhPJy+DhFOZ+Eier9EVQhR+3KE3MnG8ygiGAHPPTLGKPiztCsLNkJMikDAmaNbRZDafA/7x4z9eA== X-Received: by 2002:ac8:5e0f:: with SMTP id h15mr16707316qtx.490.1638484362938; Thu, 02 Dec 2021 14:32:42 -0800 (PST) Received: from smtpclient.apple (107-215-223-229.lightspeed.sntcca.sbcglobal.net. [107.215.223.229]) by smtp.gmail.com with ESMTPSA id x21sm768596qkf.77.2021.12.02.14.32.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Dec 2021 14:32:42 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 15.0 \(3693.20.0.1.32\)) From: Bakul Shah In-Reply-To: Date: Thu, 2 Dec 2021 14:32:40 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <6F605F15-60D4-4780-B067-A750D76603A3@iitbombay.org> References: To: Duncan Mak X-Mailer: Apple Mail (2.3693.20.0.1.32) 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: , Cc: TUHS main list Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" > On Dec 2, 2021, at 1:35 PM, Duncan Mak wrote: >=20 > On Tue, Nov 16, 2021 at 12:04 PM Douglas McIlroy = wrote: >=20 > 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. >=20 > I went looking for this paper by Jeremy Gibbons here: = https://dblp.org/pid/53/1090.html but didn't find anything resembling = it. >=20 > What's the name of the paper? The following paper seems APLicable here. Jeremy Gibbons also gave a delightful talk on this. https://www.47deg.com/media/2017/11/07/jeremy-gibbons-lambda-world-2017/ "APLicative Programming with Naperian Functors" = https://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/aplicative.pdf We show here that such a custom language design is unnecessary: the requisite compatibility checks can already be captured in modern expressive type systems, as found for example in Haskell; moreover, generative type-driven program- ming can exploit that static type information constructively to automat- ically induce the appropriate liftings. We show also that the structure of multi-dimensional data is inherently a matter of Naperian applicative functors -- lax monoidal functors, with strength, commutative up to isomorphism under composition -- that also support traversal.