<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    John, thanks for the reminder of the implementation<br>
    of pipes on a constrained version of UNIX in the early<br>
    days. The exact implementation is described on page 2095<br>
    of the BSTJ July-Aug 1978 for interested parties.<br>
    <br>
    <img src="cid:part1.8olMNqGV.nBBEN64f@osta.com" alt="" width="700"
      height="196"><br>
    <br>
    Heinz<br>
    <br>
    <div class="moz-cite-prefix">On 12/5/2024 8:00 AM, John R Levine
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:32bf4263-277d-8c8b-6bf7-e33df04a2c3c@taugh.com">On Thu,
      5 Dec 2024, Dan Cross wrote:
      <br>
      <blockquote type="cite">
        <blockquote type="cite">Pipes were invented at least three times
          I'm aware of, but what made them
          <br>
          work so well in Unix is that they looked to the program the
          same as a file
          <br>
          so any program could use them for input or output without
          special arrangements,
          <br>
          and the shell made it easy to start two programs and pipe them
          together.
          <br>
        </blockquote>
        <br>
        Once you have coroutines and queues for passing data between
        them, a
        <br>
        lot of things start to look like pipes.
        <br>
      </blockquote>
      <br>
      They also can look a lot like temporary files.  Someone, probably
      Heinz, did a shell for the tiny Unix that ran on floppies so this
      <br>
      <br>
       foo | bar
      <br>
      <br>
      actually did this
      <br>
      <br>
       foo > tmpfile ; bar < tmpfile; rm tmpfile
      <br>
      <br>
      to avoid having to swap programs in and out on floppies.  The main
      disadvantage was that the tmpfile could overflow the tiny disks of
      the time.
      <br>
      <br>
      <blockquote type="cite">
        <blockquote type="cite">They were invented again at IBM in the
          1970s and described in this paper.  I wrote
          <br>
          them a letter, which they published, saying that Unix pipes
          did the same thing.
          <br>
          <br>
          <a class="moz-txt-link-freetext" href="https://dl.acm.org/doi/10.1147/sj.174.0383">https://dl.acm.org/doi/10.1147/sj.174.0383</a>
          <br>
        </blockquote>
        <br>
        Don't forget CMS pipelines, too!
        <br>
        <br>
        Sadly, the Morrison paper cited above is not easily accessible,
        though
        <br>
      </blockquote>
      <br>
      If anyone else needs a copy, just ask.
      <br>
      <br>
      Regards,
      <br>
      John Levine, <a class="moz-txt-link-abbreviated" href="mailto:johnl@taugh.com">johnl@taugh.com</a>, Taughannock Networks, Trumansburg NY
      <br>
      Please consider the environment before reading this e-mail.
      <a class="moz-txt-link-freetext" href="https://jl.ly">https://jl.ly</a>
      <br>
    </blockquote>
    <br>
  </body>
</html>