[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PROBE-FILE
Date: 12 April 1985 10:03 est
From: Scott E. Fahlman <Fahlman at CMU-CS-C>
Subject: PROBE-FILE
A problem with your suggestion is that in most of the distributed,
heterogenous environments that people are moving to now, there's not a
clear separation between syntactic and semantic problems with a
namestring. Add a unix system to your search-list, and suddenly the
slash character turns from syntactic garbage to an essential part of an
address. So I wouldn't want the error/no-error distinction to depend on
whether the string was ill-formed or merely happened not to point to a
reasonable place in the current environment.
- Scott
My suggestion is based on the `clear separation' that the CLRM itself
makes between an `ill-formed' namestring and a namestring that is
well-formed but meaningless. This distinction is explicitly made in the
definition of PARSE-NAMESTRING (pg. 414): An error is signalled if the
[name]string does not consist entirely of the representation of a
pathname.
1. IF one agrees that PARSE-NAMESTRING signals an error when given an
ill-formed namestring, but does not signal an error when given a
well-formed namestring (regardless of its meaningfulness)
2. AND IF one agrees that any function (call it FOO) that takes a
namestring argument implicity calls PARSE-NAMESTRING (perhaps via
PATHNAME) to transform the namestring into a pathname
3. AND IF one agrees that any error signalled by the implicit call to
PARSE-NAMESTRING is propagated by FOO
THEN one should agree that PROBE-FILE must signal an error if (but not
necessarily only if) given an ill-formed namestring.
My suggestion boils down to making points 2 and 3 EXPLICIT in the CLRM,
based on my belief that these two points are already IMPLIED in the
CLRM.
P.S. I'm not sure I understand the comment about adding a unix system
to my search list, but I believe that namestrings are usually parsed
`with reference to a particular file name syntax of several avaialable
in the implementation' (pg. 414). And the Host component is `used to
determine the syntax convention' (pg. 414). Doesn't this take care of
the slashes?