[Ecls-list] CL-Containers error on ECL

Gregory Martin Pfeil sellout42 at mac.com
Tue Jun 6 02:12:37 UTC 2006


On 31 May 2006, at 13:25, Pascal Costanza wrote:

> On 25 May 2006, at 15:42, Gary King wrote:
>
>>> ;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3
>>> ;;; Finished compiling /Users/gwking/.asdf-install-dir/site/lw-
>>> compat/lw-compat.lisp.
>>> ;;; Loading "/Users/gwking/.asdf-install-dir/site/lw-compat/
>>> ecl-0.9h-darwin-unknown/lw-compat.fas"
>>> ;;; Compiling /Users/gwking/.asdf-install-dir/site/closer-mop/ecl/
>>> closer-mop-packages.lisp.Cannot find symbol "COMPUTE-
>>> DISCRIMINATING-FUNCTION" in package #<"CLOS" package>
>>> Broken at EVAL.
>>> CLOSER-MOP>>
>
> I am not sure whether that's what you are looking for here, but it is
> indeed the case that compute-discriminating-function doesn't exist in
> ecl. Generic functions in ecl are not implemented according to the
> CLOS MOP (as in MCL and OpenMCL).

So, while Closer-MOP seems to be working for me in ECL on x86 (both  
OS X and Linux), I've managed to finally reach parity with Gary King  
in ECL on PPC. Attached are changes I've made to Closer-MOP to make  
errors go away. I'm not claiming that they're fixes at all, but  
figured that getting errors out of the way might show us how far  
there is to go to get a solid MOP on ECL.

Oh, Pascal, there is one thing I consider a fix in that patch: ECL on  
PPC seems to not support :OPTIMIZE-SLOT-ACCESS, so I guarded that  
option with #-powerpc.

With this patch applied, I still get an error, but it happens loading  
the FASL as opposed to during compilation, so my normal "look at what  
was just emitted" strategy doesn't really work as well:

	;;; Loading "/Users/greg/Documents/Lisp/closer-mop/ecl/ecl-0.9h- 
darwin-powerpc/closer-mop.fas"
	;;; Warning: Redefining class STANDARD-GENERIC-FUNCTION
	;;; Warning: Redefining class STANDARD-ACCESSOR-METHOD
	;;; Warning: Redefining class STANDARD-READER-METHOD
	;;; Warning: Redefining class STANDARD-WRITER-METHOD
	;;; Warning: Redefining class STANDARD-READER-METHOD
	;;; Warning: Redefining class STANDARD-WRITER-METHOD
	;;; Warning: Redefining class EQL-SPECIALIZER*
	
	Unable to display error condition
	   [Condition of type SIMPLE-ERROR]

	Backtrace:
	  0: LAMBDA
	  1: CALL-WITH-DEBUGGING-ENVIRONMENT
	  2: LAMBDA
	  3: LAMBDA
	  4: CALL-WITH-BINDINGS
	  5: DEBUG-IN-EMACS

Using Closer-MOP in ECL on OS X/PPC isn't very important to me, but I  
would like to find a fix to that CL-Containers error that started  
this thread. If that means getting Closer-MOP to work on Gary's  
platform, that's what I'll try to do. My intuition is that the bug is  
in ECL, since it seems to work on a number of other CLs and the error  
doesn't happen on the first occurence of the form.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: closer-mop-darwin-ppc.patch
Type: application/octet-stream
Size: 3684 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20060605/dd5f55bf/attachment.obj>
-------------- next part --------------



More information about the ecl-devel mailing list