On Jan 17, 2022, at 13:37, Nelson H. F. Beebe
<beebe(a)math.utah.edu> wrote:
I've just watched an interesting presentation given last Friday via
video link to the Linux Conference in Australia:
Brian Kernighan
The early days of Unix at Bell Labs
https://www.youtube.com/watch?v=ECCr_KFl41E
I just watched the entire thing; great fun! I particularly liked the part about pipes and
was reminded of dmr's comment:
... The idea, explained one afternoon on a blackboard,
intrigued us but failed to ignite any immediate action. There were several objections to
the idea as put: the infix notation seemed too radical (we were too accustomed to typing
‘cp x y’ to copy x to y); and we were unable to see how to distinguish command parameters
from the input or output files. Also, the one-input one-output model of command execution
seemed too confining. What a failure of imagination! ...
--
https://www.read.seas.harvard.edu/~kohler/class/aosref/ritchie84evolution.p…
The closing line seems quintessentially Dennis.
On a vaguely related note, I've really enjoyed using pipes in Elixir (borrowed from
F#, AFAIK). In their basic form, they carry only the complete output of the sending
function. However, there is a stream version which works with incomplete data. Given the
sparse nature of C's design, it isn't surprising that pipelines were omitted,
but it rather surprises me not to see them in more of its successor languages.
-r