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

Re: restarts and MI as possible omissions



|   Date: Fri, 19 Apr 96 19:21:39 BST
|   From: Jeff Dalton <jeff@aiai.ed.ac.uk>
|
|   Alan Bawden wrote:

|     * Even it we adopt the basic idea, conditions should be records
|       that contain, in some field, a list of error types (or whatever
|       we call them).  Having conditions just _be_ such lists is too
|       limiting and insufficiently abstract.  [We we're back again to
|       the questions of records, inheritance, and object systems.]

I'm not sure that I agree with this.

I agree that the lists should not be lists of symbols, since they are
globally unique and hence collision is a definite possibility.

However, a list of unique objects is a very simple and sufficient
implementation in the same style.

I can easily imagine

    (make-condition <string>)
    (condition-string <condition>)

where make-condition guarantees that a new condition object is
generated even when the strings are identical as being a sufficient
implementation.

The system would predefine variables for the built-in conditions

(define nfs-stale-handle (make-condition "NFS stale file handle"))
(define smb-lost-server (make-condition "SMB server connection lost"))
(define file-IO-error (make-condition "File I/O error"))
(define IO-error (make-condition "I/O error"))

(raise (list smb-lost-server file-IO-error IO-error) ...)

I'm not seriously advocating this proposal, but I am iterating
Alan's point that an actual MI implementation need not have a lot of
the baggage usually associated with inheritance.