Cleanup Issue CONDITION-ACCESSORS-SETFABLE

Forum
Cleanup
Category
CLARIFICATION
References
Condition System, version 18

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 (NO)

The effect of using accessor functions defined for the various standard (i.e., pre-defined) condition classes as places for SETF is undefined.

Rationale

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.

Edit History