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=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25470 invoked from network); 3 Aug 2020 09:42:46 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 3 Aug 2020 09:42:46 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 6F7BA9CB41; Mon, 3 Aug 2020 03:13:52 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 0BCE79C9E6; Mon, 3 Aug 2020 03:13:20 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id D99269C9E6; Mon, 3 Aug 2020 03:13:16 +1000 (AEST) Received: from mail.cs.dartmouth.edu (mail.cs.dartmouth.edu [129.170.212.100]) by minnie.tuhs.org (Postfix) with ESMTPS id AA7779C9E3 for ; Mon, 3 Aug 2020 03:13:15 +1000 (AEST) Received: from tahoe.cs.Dartmouth.EDU (tahoe.cs.dartmouth.edu [129.170.212.20]) by mail.cs.dartmouth.edu (8.15.2/8.15.2) with ESMTPS id 072HD76b3339932 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Sun, 2 Aug 2020 13:13:07 -0400 Received: from tahoe.cs.Dartmouth.EDU (localhost.localdomain [127.0.0.1]) by tahoe.cs.Dartmouth.EDU (8.15.2/8.14.3) with ESMTP id 072HD7OI120878; Sun, 2 Aug 2020 13:13:07 -0400 Received: (from doug@localhost) by tahoe.cs.Dartmouth.EDU (8.15.2/8.15.2/Submit) id 072HD7Ba120877; Sun, 2 Aug 2020 13:13:07 -0400 From: Doug McIlroy Message-Id: <202008021713.072HD7Ba120877@tahoe.cs.Dartmouth.EDU> Date: Sun, 02 Aug 2020 13:13:07 -0400 To: , , References: <202008021340.072Demtg086822@tahoe.cs.Dartmouth.EDU> <202008021357.072DvOYo024549@freefriends.org> In-Reply-To: <202008021357.072DvOYo024549@freefriends.org> User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: [TUHS] BTL summer employees 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" >> Even high-school employees could make lasting contributions. I am >> indebted to Steve for a technique he conceived during his first summer >> assignment: using macro definitions as if they were units of associative >> memory. This view of macros stimulated previously undreamed-of uses. > Can you give some examples of what this looked like? One useless, but telling, program of mine was a Turing-machine simulator. Tape cells were represented by macros that contained a symbol and the (macro) names of adjacent cells. New cells could be generated as needed, with names derived from a counter. A natural way to store the state-transition table (I forget how it was actually done) would be as macros whose names are the concatenation of state and symbol names. Path-compression as used in union-find algorithms originated in a macroprocessor implementation by Bob Morris. Each graph node was represented by a macro that pointed to or toward the root of a tree spanning its graph component. Doug