Cleanup Issue COMPUTE-APPLICABLE-METHODS
- Category
- CHANGE
- References
- 88-002R p.2-19
Problem Description
COMPUTE-APPLICABLE-METHODS is documented as a regular function but it should be a generic function, because the metaobject protocol wants to allow different generic function classes to do it differently.
This is Symbolics issue #30 and Loosemore issue #22 of 27 Feb 90.
Proposal (GENERIC)
Change COMPUTE-APPLICABLE-METHODS from "Function" to "Standard Generic Function."Test Cases
(typep #'compute-applicable-methods 'generic-function) => t
Rationale
Needed for metaobject protocol.Current Practice
Symbolics Genera 8.0 and Lucid 4.0.0 Beta-1 implement the proposal, however the test case returns nil in Lucid due to an unrelated bug. Other CLOS implementations were not surveyed.Cost to Implementors
Easy.Cost to Users
None.Cost of Non-Adoption
This will have to be changed later when the metaobject protocol is put in either as a standard or as an implementation-supplied extension.
None of consequence.Benefits
Corrects a technical error in 88-002R.Aesthetics
Neutral.Discussion
Gregor says this is correct.
Originally Moon thought there were also problems with SLOT-BOUNDP, SLOT-EXISTS-P, and SLOT-MAKUNBOUND, but it turns out that those problems were corrected before 88-002R was published.
Edit History
- 2-May-90, Version 1 by Moon