[HARLEQUIN][Common Lisp HyperSpec (TM)] [Previous][Up][Next]


Issue COMPUTE-APPLICABLE-METHODS Writeup

Issue:         COMPUTE-APPLICABLE-METHODS

References: 88-002R p.2-19

Category: CHANGE

Edit history: 2-May-90, Version 1 by Moon

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 (COMPUTE-APPLICABLE-METHODS:GENERIC):

Change COMPUTE-APPLICABLE-METHODS from "Function" to "Standard Generic

Function."

Test Case:

(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.

Performance impact:

None of consequence.

Benefits:

Corrects a technical error in 88-002R.

Esthetics:

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.


[Starting Points][Contents][Index][Symbols][Glossary][Issues]
Copyright 1996, The Harlequin Group Limited. All Rights Reserved.