From kroegerlistas at pedrokroeger.net Tue Nov 21 06:44:02 2006 From: kroegerlistas at pedrokroeger.net (kroegerlistas at pedrokroeger.net) Date: Mon, 20 Nov 2006 22:44:02 -0800 Subject: [cl-containers-devel] error when using CMUCL Message-ID: <87bqn1e1u5.fsf@pedrokroeger.net> Hi, I get the following error when compiling cl-containers with cmucl 19d. It runs fine with clisp 2.41 and sbcl 0.9.18 here. Do you have an idea of what it could be? Best regards, Pedro Kroger Execution of a form compiled with errors: (DEFMETHOD INITIALIZE-INSTANCE :AFTER ((METABANG.CL-CONTAINERS::OBJECT METABANG.CL-CONTAINERS:STABLE-ASSOCIATIVE-CONTAINER) &REST METABANG.CL-CONTAINERS::ARGS &KEY METABANG.CL-CONTAINERS::CONTAINER-TYPE &ALLOW-OTHER-KEYS) (SETF (SLOT-VALUE METABANG.CL-CONTAINERS::OBJECT 'METABANG.CL-CONTAINERS:ASSOCIATIVE-CONTAINER) (APPLY #'METABANG.CL-CONTAINERS:MAKE-CONTAINER METABANG.CL-CONTAINERS::CONTAINER-TYPE :TEST #1=(METABANG.CL-CONTAINERS::TEST METABANG.CL-CONTAINERS::OBJECT) METABANG.CL-CONTAINERS::ARGS) (SLOT-VALUE METABANG.CL-CONTAINERS::OBJECT 'METABANG.CL-CONTAINERS::NUMBERED-CONTAINER) (METABANG.CL-CONTAINERS:MAKE-CONTAINER METABANG.CL-CONTAINERS::CONTAINER-TYPE :TEST #1#))) [Condition of type KERNEL:SIMPLE-PROGRAM-ERROR] Restarts: 0: [CONTINUE] Return NIL from load of #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/containers.x86f". 1: [RETRY] Retry performing # on #. 2: [ACCEPT] Continue, treating # on # as having been successful. 3: [ABORT-REQUEST] Abort handling SLIME request. 4: [ABORT] Return to Top-Level. Backtrace: 0: (C::DO-CALL # 70 71 57 ...) 1: (LISP::FOP-FUNCALL-FOR-EFFECT) 2: (LISP::LOAD-GROUP #) 3: (LISP::FASLOAD #) 4: (LISP::INTERNAL-LOAD #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/containers.x86f" #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/containers.x86f" :ERROR :BINARY) 5: (LISP::INTERNAL-LOAD #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/containers.x86f" #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/containers.x86f" :ERROR NIL) 6: (LOAD #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/containers.x86f" :VERBOSE NIL :PRINT ...) 7: ((PCL:FAST-METHOD ASDF:PERFORM (ASDF:LOAD-OP ASDF:CL-SOURCE-FILE)) (#() . #(#)) # # #) 8: ("LAMBDA (G1633 G1634 G1635)" #<#1=unused-arg> #<#1#> # #) From gwking at metabang.com Wed Nov 22 16:48:28 2006 From: gwking at metabang.com (Gary King) Date: Wed, 22 Nov 2006 11:48:28 -0500 Subject: [cl-containers-devel] error when using CMUCL In-Reply-To: <87bqn1e1u5.fsf@pedrokroeger.net> References: <87bqn1e1u5.fsf@pedrokroeger.net> Message-ID: <02D73077-2A21-4F9B-AC26-C6F39D9ED673@metabang.com> Hi, Sorry to be so delayed on this (and everything else!). Life is hectic right now. In any case, I'm not sure what the error message from CMUCL means. One idea is that it is something to do with an interaction between defclass* and the CMUCL compiler (though I would think you'd get a forward referennced class error instead. Could you try moving the form to a different file? (Though this seems unlikely to help since there are other similar forms elsewhere). Hmm, can you keep the form but comment out the innards? Or comment out one part of the innards to see what CMUCL likes and dislikes? Let me know, thanks, On Nov 21, 2006, at 1:44 AM, kroegerlistas at pedrokroeger.net wrote: > > Hi, > > I get the following error when compiling cl-containers with cmucl 19d. > It runs fine with clisp 2.41 and sbcl 0.9.18 here. Do you have an idea > of what it could be? > > Best regards, > > Pedro Kroger > > Execution of a form compiled with errors: > (DEFMETHOD INITIALIZE-INSTANCE :AFTER ((METABANG.CL- > CONTAINERS::OBJECT > METABANG.CL- > CONTAINERS:STABLE-ASSOCIATIVE-CONTAINER) > &REST METABANG.CL- > CONTAINERS::ARGS > &KEY > METABANG.CL- > CONTAINERS::CONTAINER-TYPE > &ALLOW-OTHER-KEYS) > (SETF (SLOT-VALUE METABANG.CL-CONTAINERS::OBJECT > 'METABANG.CL-CONTAINERS:ASSOCIATIVE-CONTAINER) > (APPLY #'METABANG.CL-CONTAINERS:MAKE-CONTAINER > METABANG.CL-CONTAINERS::CONTAINER-TYPE > :TEST #1=(METABANG.CL-CONTAINERS::TEST > METABANG.CL-CONTAINERS::OBJECT) > METABANG.CL-CONTAINERS::ARGS) > (SLOT-VALUE METABANG.CL-CONTAINERS::OBJECT > 'METABANG.CL-CONTAINERS::NUMBERED-CONTAINER) > (METABANG.CL-CONTAINERS:MAKE-CONTAINER > METABANG.CL-CONTAINERS::CONTAINER-TYPE :TEST #1#))) > [Condition of type KERNEL:SIMPLE-PROGRAM-ERROR] > > Restarts: > 0: [CONTINUE] Return NIL from load of #P"/home/kroger/lisp/fasl/ > cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/ > dev/containers.x86f". > 1: [RETRY] Retry performing # on > #. > 2: [ACCEPT] Continue, treating # on > # as having been > successful. > 3: [ABORT-REQUEST] Abort handling SLIME request. > 4: [ABORT] Return to Top-Level. > > Backtrace: > 0: (C::DO-CALL # 70 71 > 57 ...) > 1: (LISP::FOP-FUNCALL-FOR-EFFECT) > 2: (LISP::LOAD-GROUP # cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/ > dev/containers.x86f">) > 3: (LISP::FASLOAD # cmu-19d (19d)-linux-x86/home/kroger/lisp/base-libs/cl-containers/ > dev/containers.x86f">) > 4: (LISP::INTERNAL-LOAD #P"/home/kroger/lisp/fasl/cmu-19d (19d)- > linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/ > containers.x86f" #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/ > home/kroger/lisp/base-libs/cl-containers/dev/ > containers.x86f" :ERROR :BINARY) > 5: (LISP::INTERNAL-LOAD #P"/home/kroger/lisp/fasl/cmu-19d (19d)- > linux-x86/home/kroger/lisp/base-libs/cl-containers/dev/ > containers.x86f" #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/ > home/kroger/lisp/base-libs/cl-containers/dev/ > containers.x86f" :ERROR NIL) > 6: (LOAD #P"/home/kroger/lisp/fasl/cmu-19d (19d)-linux-x86/home/ > kroger/lisp/base-libs/cl-containers/dev/containers.x86f" :VERBOSE > NIL :PRINT ...) > 7: ((PCL:FAST-METHOD ASDF:PERFORM (ASDF:LOAD-OP ASDF:CL-SOURCE- > FILE)) (#() . #(#)) # # > #) > 8: ("LAMBDA (G1633 G1634 G1635)" #<#1=unused-arg> #<#1#> > # # "containers" {5907DE2D}>) > > _______________________________________________ > cl-containers-devel mailing list > cl-containers-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/cl-containers-devel -- Gary Warren King, metabang.com Cell: (413) 885 9127 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From kroegerlistas at pedrokroeger.net Tue Nov 28 22:06:28 2006 From: kroegerlistas at pedrokroeger.net (Pedro =?utf-8?Q?Kr=C3=B6ger?=) Date: Tue, 28 Nov 2006 19:06:28 -0300 Subject: [cl-containers-devel] error when using CMUCL In-Reply-To: <02D73077-2A21-4F9B-AC26-C6F39D9ED673@metabang.com> (Gary King's message of "Wed\, 22 Nov 2006 11\:48\:28 -0500") References: <87bqn1e1u5.fsf@pedrokroeger.net> <02D73077-2A21-4F9B-AC26-C6F39D9ED673@metabang.com> Message-ID: <87wt5fp6or.fsf@pedrokroeger.net> Gary King writes: > Hmm, can you keep the form but comment out the innards? Or comment > out one part of the innards to see what CMUCL likes and dislikes? I commented different things in the form. CMUCL doesn't like the expressions marked with => below: (defmethod initialize-instance :after ((object stable-associative-container) &rest args &key container-type &allow-other-keys) (setf (slot-value object 'associative-container) => (apply #'make-container container-type :test (test object) args) (slot-value object 'numbered-container) => (make-container container-type :test (test object)) )) actually it seems not to like the "object" in (test object): (make-container container-type :test (test object)) -------------- If I replace foo for object it works (but gives a warning, of course) Does it help? Pedro Kroger From gwking at metabang.com Wed Nov 29 05:45:20 2006 From: gwking at metabang.com (Gary King) Date: Wed, 29 Nov 2006 00:45:20 -0500 Subject: [cl-containers-devel] error when using CMUCL In-Reply-To: <87wt5fp6or.fsf@pedrokroeger.net> References: <87bqn1e1u5.fsf@pedrokroeger.net> <02D73077-2A21-4F9B-AC26-C6F39D9ED673@metabang.com> <87wt5fp6or.fsf@pedrokroeger.net> Message-ID: Hi Pedro, Hmmm. Interesting but it doesn't give me any sudden brilliant insights. Looking at the code some more, I do notice that the test slot comes from test-container-mixin via key-value-iteratable-container-mixin and that the latter isn't loaded yet. My understanding of Lisp is that this should _not_ be an error but you could try two more other things: 1. Move the defclass below from basic-operations.lisp to containers.lisp (which is, actually, probably a better logical place for it in any case...) > (defclass* key-value-iteratable-container-mixin (iteratable- > container-mixin) > ()) 2. and / or, try something like: > (defmethod initialize-instance :after ((object stable-associative- > container) > &rest args &key > container-type &allow-other- > keys) > (let ((test (test object))) > (setf (slot-value object 'associative-container) > (apply #'make-container container-type :test test args) > (slot-value object 'numbered-container) > (make-container container-type :test test)))) or > (defmethod initialize-instance :after ((object stable-associative- > container) > &rest args &key > container-type &allow-other- > keys) > (let ((test (test object))) > (setf (slot-value object 'associative-container) > (apply #'make-container container-type args) > (slot-value (slot-value object 'associative-container) 'test) > test > (slot-value object 'numbered-container) > (make-container container-type) > (slot-value (slot-value object 'numbered-container) 'test) > test))) (Both of which are pure superstition on my part. Thanks for bearing with this and please let me know if any of these stabs in the dark help. thanks, On Nov 28, 2006, at 5:06 PM, Pedro Kr?ger wrote: > Gary King writes: > >> Hmm, can you keep the form but comment out the innards? Or comment >> out one part of the innards to see what CMUCL likes and dislikes? > > I commented different things in the form. CMUCL doesn't like the > expressions marked with => below: > > (defmethod initialize-instance :after ((object stable-associative- > container) > &rest args &key container- > type &allow-other-keys) > (setf > (slot-value object 'associative-container) > => (apply #'make-container container-type :test (test object) args) > (slot-value object 'numbered-container) > => (make-container container-type :test (test object)) > )) > > actually it seems not to like the "object" in (test object): > > (make-container container-type :test (test object)) > -------------- > > If I replace foo for object it works (but gives a warning, of course) > > Does it help? > > Pedro Kroger -- Gary Warren King, metabang.com Cell: (413) 885 9127 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From kroegerlistas at pedrokroeger.net Wed Nov 29 11:13:55 2006 From: kroegerlistas at pedrokroeger.net (kroegerlistas at pedrokroeger.net) Date: Wed, 29 Nov 2006 08:13:55 -0300 Subject: [cl-containers-devel] error when using CMUCL In-Reply-To: (Gary King's message of "Wed\, 29 Nov 2006 00\:45\:20 -0500") References: <87bqn1e1u5.fsf@pedrokroeger.net> <02D73077-2A21-4F9B-AC26-C6F39D9ED673@metabang.com> <87wt5fp6or.fsf@pedrokroeger.net> Message-ID: <87ac2awln0.fsf@pedrokroeger.net> Gary King writes: > 1. Move the defclass below from basic-operations.lisp to > containers.lisp (which is, actually, probably a better logical place > for it in any case...) It didn't work :-( In fact, If I comment that code (the defclass*) the error is the same as before (i.e. no new error). > 2. and / or, try something like: I'm afraid neither of them worked. The code bellow gives the same error as before: (defmethod initialize-instance :after ((object stable-associative-container) &rest args &key container-type &allow-other-keys) (let ((test (test object))) )) I tested it with cmucl 19d (the binary from cmucl website) and cmucl 19c (the package from debian etch). I'm glad to help, if you think of something, please let me know. Pedro