[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
EQL specializers
- To: CommonLoops.PARC@Xerox.com
- Subject: EQL specializers
- From: philpot@ptolemy.arc.nasa.GOV (philpot)
- Date: Wed, 19 Sep 1990 13:04:18 PDT
- Newsgroups: ri.commonloops
- Organization: NASA-Ames Research Center, Moffett Field, CA
Is there any good reason that the following,
(in-package :pcl)
(defmethod divide ((dividend number) (divisor number))
(/ dividend divisor))
(defmethod divide ((dividend number) (zero (eql 0)))
(error "Cannot divide by zero."))
which was taken from Keene, p. 94, should not work in PCL?
Actually, I get an error message at load time, to the following
effect:
Error: No matching method for the generic-function #<Function
CLASS-NAME @ #x4b36e9>, when called with arguments ((EQL 0))
but then after I abort out of the debugger, instances will reflect the
new definition, i.e., (divide 12 0) will be handled specially.
I am using:
PCL system date: 5/22/89 Victoria Day PCL
Lisp Implementation type: Allegro CL
Lisp Implementation version: 3.1.13 [Sun3] (4/24/90)
*features*: (:LOOP LOOP :COMPOSER :FAKE-ACTIVE-REGIONS :PCL :CLOS
:BIG-ENDIAN :GSGC :M68881 :M68020 :ALLEGRO-V3.1 :FRANZ-INC :EXCL
:ALLEGRO :COMMON-LISP :CONFORMING-IEEE :IEEE :FLAVORS :SUNOS4.0 :SUN
:M68K :SUN3 :UNIX :NASA-RIA :MULTIPROCESSING :CLX :XLIB :CLX-MIT-R4
:CLX-CL-ERROR :CW-X)
I am told that we cannot upgrade to the newer May Day PCL because of
Franz incompatibilities. If the fix to this is only available in May
Day, then I guess I will just patch CLASS-NAME locally and live with
it.
Andrew