[clpython-devel] Re: CLPython on SBCL

Jason Nielsen jdn at math.carleton.ca
Tue May 6 13:48:32 UTC 2008


On Tue, 6 May 2008, Willem Broekema wrote:

> On Tue, May 6, 2008 at 6:19 AM, Jason Nielsen <jdn at math.carleton.ca> wrote:
>
>> I can confirm that compilation fails using SBCL 1.0.16 on a Ubuntu 7.10
>> system with a:
>>
>> "has no suitable method for STREAM-ELEMENT-TYPE, and so has fallen through
>> to this method...."
>>
>> error that crashes the whole session.  You can reproduce this behaviour
>> with the following:
>>
>> (defclass foo (standard-class) ())
>> (defclass bar () () (:metaclass foo))
>>
>
> Thanks for the confirmation. Actually I hoped this would not occur in the
> latest version, as Nikodemus Siivola said on 2008-01-15, in reply to what
> seems a very similar issue reported by Pascal Costanza: "This seems to have
> been fixed at some point during the last 10 months": <
> http://article.gmane.org/gmane.lisp.steel-bank.devel/10603>
>
> Custom metaclasses are crucial for CLPython. Hopefully someone feels
> inclined to fix this SBCL issue.
>
> - Willem
>

Interesting, if you run in an sbcl console without slime:

(defclass foo (standard-class) ())
(defclass bar () () (:metaclass foo))

you get a different error message:

debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" 
{A884551}>:
   The class #<STANDARD-CLASS STANDARD-OBJECT> was specified as a 
super-class of
   the class #<FOO BAR>, but the meta-classes #<STANDARD-CLASS 
STANDARD-CLASS>
   and #<STANDARD-CLASS FOO> are incompatible.  Define a method for
   SB-MOP:VALIDATE-SUPERCLASS to avoid this error.

so thinking this may be some sort of slime/sbcl problem I decided to try 
to asdf-install without slime.  The compilation fails much earlier with:

; registering #<SYSTEM #:LW-COMPAT {A8F48F9}> as LW-COMPAT
WARNING: change in instance length of class SB-PRETTY:PRETTY-STREAM:
   current length: 25
   compile time length: 27

debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" 
{A884551}>:
   The class SB-PRETTY:PRETTY-STREAM was not changed, and there's no 
guarantee that
the loaded code (which expected another layout) will work.

This error also doesn't mean much to me.

Jason



More information about the Clpython-devel mailing list