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

Re: FILE-WRITE-DATE, FILE-AUTHOR



A good summary.  I'd add another option:

d)  Declare that they signal an error when they were actually
unable to determine the existance of the file.  This is not
quite as satisfactory as item 'c', but is a reasonable holding
action until the error system proposal is adopted and attention
is given to standardizing on specific conditions and circumstances.

    Date: 15 Dec 86 13:45 PST
    From: masinter.pa@Xerox.COM

    The error system proposal (aka the Condition System proposal) does not
    at all address the issue of what functions might specify what errors, it
    only provides a mechanism by which the type of error might be specified,
    and  for handling such conditions. 

    This is my attempt to summarize the issue you brought up:

    "There are several operations in Common Lisp (e.g., PROBE-FILE,
    DIRECTORY, OPEN)  for which CLtL is vague about the behavior in the face
    of lack of access rights, network failures, or transient conditions.
    The alternatives are to 
    a) to declare that these conditions should be treated within the bounds
    of the specified operation, e.g., that PROBE-FILE return as if the file
    were not present, USER-HOMEDIR-PATHNAME, FILE-WRITE-DATE, FILE-AUTHOR
    return NIL

    b) to declare explicitly that the behavior of a Common Lisp
    implementation in such conditions is "unspecified" or
    "implementation-dependent"

    c) to define conditions (e.g., INTERMITTENT-FILE-ERROR,
    INSUFFICIENT-ACCESS-RIGHTS) which will be signalled when such conditions
    arise, and, perhaps, some of the actions that should happen surrounding
    such signals (e.g., that it should be possible to specify that
    FILE-WRITE-DATE should just return NIL if it is not available, ect.)

    - - - - - - - - - - - -

    Independent of the merits of one proposal over another, are there any
    other proposals or refinements of these? Other functions and situations
    (besides FILE-WRITE-DATE, FILE-AUTHOR, PROBE-FILE, DIRECTORY, OPEN,
    USER-HOMEDIR-PATHNAME)?