Least We Forget: Multics
trb at masscomp.UUCP
trb at masscomp.UUCP
Wed Jul 11 04:50:06 AEST 1984
mit-eddie!barmar:
> You might be interested to know that I don't consider pipes to be one
> of them; pipes are a kludge to get around the fact that dynamic linking
> was hard to implement, so instead of making it easy to call lots of
> subroutines, you start up a process and read its output.
Dynamic linking doesn't give you the toolkit versatility that the pipe
system call (and its use in interactive shell pipes) gives you. My
favorite simple example is the rhyming dictionary (I don't remember
where I first saw this example). Given the v7 programs:
sort: sort lines lexically
rev: reverse order of characters in each line
Then
% rev < input-dictionary | sort | rev > rhyming-dictionary
produces a (lexical) rhyming dictionary.
Another simple example would be a spelling checker, using the v7 tools
tr, uniq, and comm, along with a dictionary of correctly spelled
words.
I don't see how pipes are a kludge, they seem pretty elegant to me.
The pipe system call and the shell pipe interface seems like an ideal
way to provide a co-routine interface to naive users. How could
dynamic links do this better (more simply)?
(Oh no, I envision all the object oriented purists coming through the
windows.)
Andy Tannenbaum Masscomp Inc Westford MA (617) 692-6200 x274
More information about the Comp.unix
mailing list