Issue: CONDITION-ACCESSORS-SETFABLEForum: Cleanup
References: Condition System, version 18
Category: CLARIFICATION
Edit History: Version 1, 1/3/90 by Kim A. Barrett
Problem Description:
It is presently unspecified whether the accessor functions defined for the
various standard condition classes may be used as places for SETF.
Proposal (CONDITION-ACCESSORS-SETFABLE:NO):
The effect of using accessor functions defined for the various standard
(i.e., pre-defined) condition classes as places for SETF is undefined.
Rational:
Conditions are used to record state at a particular point in time. Allowing
them to be modified at some later time makes little sense. The Condition
System does say that it is an error to attempt to assign a condition's slots
by using SETF.
Current Practice:
IIM does not make these functions be setfable.
Cost to Implementors:
Implementations might want to change all the DEFINE-CONDITIONs to use
:READER rather than :ACCESSOR when defining the accessor methods on the
slots is fairly trivial--however technically this issue itself does not
force the need for that change. Fixing any code which currently depends
on being able to SETF one of these accessors might be more work in some
implementations.
Cost to Users:
Programs which currently depend on being able to SETF these accessors are
already non-portable.
Benifits:
Users will know what to expect.
Discussion:
Pitman and Barrett supports proposal NO.