[Openmcl-devel] apparent bug in FIND-METHOD with EQL specializers

Gary Byers gb at clozure.com
Thu Nov 2 03:14:16 PST 2006


It'd probably be less confusing if FIND-METHOD effectively called
INTERN-EQL-SPECIALIZER for you.


On Thu, 2 Nov 2006, Takehiko Abe wrote:

> Eric Marsden wrote:
>
>> The following transcript illustrates what I believe is a bug in
>> FIND-METHOD when using EQL specializers. The dispatch code seems to
>> work; (foo :foo) returns the expected result.
>>
>>
>> ,----
>> | Welcome to OpenMCL Version 1.1-pre-060720 (Beta: LinuxX8664)!
>> | ? (defgeneric foo (a))
>> | #<STANDARD-GENERIC-FUNCTION FOO #x300004BF854F>
>> | ? (defmethod foo ((a (eql :foo))) 42)
>> | #<STANDARD-METHOD FOO ((EQL :FOO))>
>> | ? (find-method #'foo nil '((eql :foo)))
>> | > Error: #<STANDARD-GENERIC-FUNCTION FOO #x300004BF854F> has no method
>> for NIL ((EQL :FOO))
>> | > While executing: #<CCL::STANDARD-KERNEL-METHOD FIND-METHOD (STANDARD-
>> GENERIC-FUNCTION T T)>, in process listener(1).
>
>
> I found this:
> <http://www.xach.com/lisp/allegro-cl/1998-7/647.html>
>
> ? (find-method #'foo nil (list (intern-eql-specializer :foo)))
> #<STANDARD-METHOD FOO ((EQL :FOO))>
>
> I guess it is one of mop changes.
>
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list