[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


    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

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

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?