[TUHS] EOF on pipes?

George Michaelson ggm at algebras.org
Sun Feb 25 23:16:58 AEST 2018

I often wondered about the circumstance which led to | because it felt
like the oddest pipe in the world to me. Its zero pipe units long, its
just an entry and an exit, bolted together. I thought = would have
been much better. I guess there was a good reason that wouldn't fly.

But then I learned there was some clumsy pre-ur-pipe notations which
bolted what > and < do together somehow. I guess if you were there, it
made perfect sense. Confusing as well that | and || both have to
co-exist in the shell, one for IO redirection and process chaining,
and one for expression short circuit operation. So, clearly a lexer is
in the mix, which means maybe == could have worked. Thats a pipe!

I also had long beer filled arguments about how if | was a process,
not just IO bolting, it could be instrumented. Somebody said I should
do that in tee and I did play with that a bit, putting a box on tee to
say what flowed through the pipe. So, maybe the pipe symbol | could
have been modified to be T and then you had a side flow to monitor on.

Designing things is hard. I guess the reality is, you do the bare
minimum neccessary to make it work. Anything else is adding cost.

(I hesitate to say <- and -> might have worked too. few pipes are
bi-directional. Also, the = is being used in ls -lF to denote what
things are non-normal files...)


On Sun, Feb 25, 2018 at 1:07 PM, Doug McIlroy <doug at cs.dartmouth.edu> wrote:
>>> pipe, ch(e)root.... Any more unix connections to smoking?
> I have a slide that's a quadralingual pun (French, English, Art, shell)
> in which Magritte's painting of a pipe with the words "Ceci n'est pas
> une pipe" has been altered to read "Ceci n'est pas une |". The
> altered phrase was borrowed from Jay Misra et al, who used it as
> an example of a message in a paper on communicating processes.

More information about the TUHS mailing list