CACM Article on Unix Consultant System

jer%vanderbilt.csnet at CSNET-RELAY.ARPA jer%vanderbilt.csnet at CSNET-RELAY.ARPA
Mon Jun 18 16:00:14 AEST 1984


From:      Eric Roskos <jer%vanderbilt.csnet at CSNET-RELAY.ARPA>

In Ygal Arens and Martin R. Lyons' recent comments on a June CACM article
about the Unix Consultant system, it is my impression that the original
article may be misinterpreting the message given by the hypothetical
program NI.

The present debate centers around the fact that when a user tells the con-
sultant system "I need some more file space," the program replies
"type   rm *".

What this really reflects is one of the fundamental problems with natural
language recognition: even human beings have problems with the ambiguity
of the language.  Suppose I were writing a reference manual for some hypo-
thetical Unix utility, and I wrote

	The spooler's temporary files are named [lcd]f[ABC]splfile.

Would you think the name of the file was "[lcd]f[ABC]splfile"?  What I
meant to say was that the files may be named

	lfAsplfile
	cfAsplfile
	cfBsplfile

etc.  (In fact, maybe I meant "splfile" to be replaced by some other
string which is not expressible in the language I am trying to use, as well.)

My point is that I think the message "type   rm *" meant "type rm followed
by some valid filename".  Of course, this does not free the program from
blame; the naive user could make the same mistake the naive language recog-
niser is accused of making, and type the string literally, deleting everything
in his directory (unless the directory was so big he ran out of space to
expand the * prior to invoking rm, of course).

Where human beings recover from this error is either by prompting for clar-
ification ("You don't seriously mean for me to use a *, do you?") or, and
this is indeed a possibility, by observing the user start to delete his
entire directory and shouting "WAIT! Don't do that, I meant...".

However, since the article speaks in terms of a hypothetical language NI, it
is not clear whether the author accidentally used a notation that produced
this interesting ambiguity, or whether some actual program was misinterpreted
as doing so.

				-- J. Eric Roskos
				   Vanderbilt University



More information about the Comp.unix.wizards mailing list