
On Tue, 6 May 2008, Willem Broekema wrote:
On Tue, May 6, 2008 at 6:19 AM, Jason Nielsen <jdn@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