From mboxrd@z Thu Jan 1 00:00:00 1970 From: jnc@mercury.lcs.mit.edu (Noel Chiappa) Date: Tue, 3 Jan 2017 18:52:14 -0500 (EST) Subject: [TUHS] Pipes in the Third Edition Unix Message-ID: <20170103235214.C3DF918C0BA@mercury.lcs.mit.edu> > From: Clem Cole > You might say something like: Pipe's were developed in a 3rd edition > kernel, where there was is evidence of nascent idea (its has a name and > there are subs for it), but the code to fully support it is lacking in > the 3rd release. Pipes became a completed feature in the 4th edition. To add to what others have pointed out (about the assembler and C kernels), let me add one more data-bit. In the Unix oral histories done by Michael S. Mahoney, there's this: McIlroy: .. And on-e day I came up with a syntax for the shell that went along with the piping, and Ken said, "I'm going to do it!" He was tired of hearing all this stuff, and that was - you've read about it several times, I'm sure - that was absolutely a fabulous day the next day. He said, "I'm going to do it." He didn't do exactly what I had proposed for the pipe system call; he invented a slightly better one that finally got changed once more to what we have today. He did use my clumsy syntax. He put pipes into Unix, he put this notation [Here McIlroy pointed to the board, where he had written f > g > c] into shell, all in one night. The next morning, we had this - people came in, and we had - oh, and he also changed a lot of - most of the programs up to that time couldn't take standard input, because there wasn't the real need. So they all had file arguments; grep had a file argument, and cat had a file argument, and Thompson saw that that wasn't going to fit with this scheme of things and he went in and changed all those programs in the same night. I don't know how ... And the next morning we had this orgy of one-liners. So I don't think that suggested text, that it was added slowly, is appropriate. If this account is correct, it was pretty atomic. It sounds more the correct answer to the stuff in the source is the one proposed, that it got added to the assembler version of the system before it was done in the C version. Noel