On 18 Apr 2007, at 13:42, Chris Wright wrote:
> Hi,
>
> If I change the lambda list of a method to something incompatible
> (like change the number of args), I get an error. I see that this is
> the intended behaviour (Zach Beane 0.8.16)
>
> What is the "approved" way to minimize the inconvenience (other than
> getting the lambda list right in the first place)? OpenMCL and
> LispWorks allow a restart that removes the method from the generic
> function and changes the lambda list.
The HyperSpec entry for defmethod says this:
"If a generic function is currently named by function-name, the
lambda list of the method must be congruent with the lambda list of
the generic function, or an error of type error is signaled."
That's it.
You could catch the error in an error handler and try to do something
reasonable there, or implement your own generic function class to
change the default behavior for adding methods.
Pascal
--
Pascal Costanza, mailto:pc@..., http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium
|