Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!cbosgd!ihnp4!ptsfa!ames!ucbcad!ucbvax!INGRES.BERKELEY.EDU!hatcher From: hatcher@INGRES.BERKELEY.EDU.UUCP Newsgroups: comp.sys.amiga Subject: Re: MCC pipes Message-ID: <8706120738.AA09510@ingres.Berkeley.EDU> Date: Fri, 12-Jun-87 03:38:49 EDT Article-I.D.: ingres.8706120738.AA09510 Posted: Fri Jun 12 03:38:49 1987 Date-Received: Sun, 14-Jun-87 01:48:14 EDT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 39 Both Peter & Matt's comments about pipes were quite interesting. Unfortunately Matt neglected to answer Peter's comment about wanting pipes to support Examine and Exnext. This is a very important feature. The ideal, which tends to be discovered and rediscovered endlessly, is to have a consistent name space where everything is a first class citizen. The reason is simple...when things are very consistent, then software tends to work automatically with objects that the author didn't have in mind a priori. The Amiga currently has *almost* consistent universal name space, as illustrated by the fact that Matt can write a pipe: device in the first place, and any software can write to it as if it were a regular file. But unlike other devices which contain file names, the pipe: device cannot be listed (Examine/Exnext etc). If it supported those packet types then it would behave a lot more like our other devices. A practical example: I have sometimes used more than one pipe at once (good old multitasking Amiga!), and after scrolling several CLI's and swapping windows around, wanted to check what was going on with the pipes. The ideal way would be to do "dir pipe:". A second problem was that I had gotten a writer going to a pipe, then it took a while to set up the reader, but I couldn't remember the name I'd used for the pipe (and the command had scrolled off the top of the CLI window). Again, being able to do "dir pipe:" would fix that. These are just a few examples; consistency and universality of interfaces are well established principles by now. There are many discussions of these principles in histories of Unix and Smalltalk, to pick two easy examples. One ignores history at ones own peril (and to the inconvenience of clients of your software). Oh, a final note: it's nice to have a root in which to look at a name space. That's why devices on Unix live in the file system in /dev -- it's not a peculiarity, it's a very basic feature of a uniform name space. It would be very nice if we could do "dir ::" or something and discover a list of all devices. Doug Merritt ucbvax!unisoft!certes!doug