[Ecls-list] ECL with GCC 4.3.0

Pascal Costanza pc at p-cos.net
Mon Mar 17 16:41:44 UTC 2008


On 17 Mar 2008, at 11:14, Juan Jose Garcia-Ripoll wrote:

> On Mon, Mar 17, 2008 at 10:46 AM, Pascal Costanza <pc at p-cos.net>  
> wrote:
>> That's good news, right? ;)
>
> Yes :-) Regarding the call-next-method issue, it is advisable to
> update CVS and recompile. There were still some corners left.



> But since you are kind of an AMOP expert, I wanted to ask your  
> opinion on
> how strong is the need for implementing 1)
> COMPUTE-DISCRIMINATING-FUNCTION and 2) MAKE-METHOD-LAMBDA and
> COMPUTE-EFFECTIVE-METHOD.

Compute-discriminating-function is crucial if you want to build our  
own dispatch semantics for your own generic functions classes. Without  
compute-discriminating-function, you cannot really do a lot. (Compute- 
applicable-methods and compute-applicable-methods-using-classes are  
sometimes useful, but in most cases, you can already solve your  
problems with define-method-combination, which has the great advantage  
that it's portable and pretty efficient.)

Compute-effective-method is on a similar level to compute-applicable- 
methods and compute-applicable-methods-using-classes. It's sometimes  
useful, but not often. It would be more useful if there also were a  
compute-effective-method-function, but without the latter, it simply  
becomes too complicated to implement your own optimized method  
dispatch. (Compute-discriminating-function is good enough for non- 
optimized method dispatch.)

Make-method-lambda is not well supported across Common Lisp  
implementations. Only SBCL supports it fully, and LispWorks supports a  
slightly modified version. Other CL implementations simply drop it.  
Bruno Haible of clisp argues that it's misdesigned, and by now I tend  
to agree. I think there are better solutions to achieve the same  
effects that you can achieve with make-method-lambda, and those  
solutions should place much less burden on implementors.

I wouldn't bother too much about make-method-lambda if I were you.  
Since it practically doesn't exist elsewhere, there doesn't seem to be  
a lot of use for it anyway.

I hope this helps.

Best,
Pascal

-- 
1st European Lisp Symposium (ELS'08)
http://prog.vub.ac.be/~pcostanza/els08/

Pascal Costanza, mailto:pc at p-cos.net, http://p-cos.net
Vrije Universiteit Brussel, Programming Technology Lab
Pleinlaan 2, B-1050 Brussel, Belgium









More information about the ecl-devel mailing list