[Bese-devel] clisp and araneida (and windows)

Edgar Gonçalves edgar.goncalves at tagus.ist.utl.pt
Fri Jan 21 10:44:25 UTC 2005


Hi,

> in the past few todays i've commited patches (patch-184 through
> patch-190) allowing ucw to run on clisp (latest cvs only) and using
> araneida (0.9) as a backend. what this means (and the reason i did it)
> is that you can now deploy your ucw apps on windows servers.

I've come to some problems when trying to use ucw in the clisp version that you
sent me. After a few system configuration issues, the ucw compilation process
stopped in the following function (in
src/rerl/standard-component/standard-component-class.lisp): 


(defun initialize-component-class-after (class initargs next-method)
  ":after initialization function for standard-component-class objects.

Setup the proper values in component-class.backtrack-slots and
component-class.component-slots in CLASS based on the effective
slots of CLASS."
  (declare (ignore initargs next-method))
  (iterate
    (for slot in (mopp:class-slots class))
    (when (typep slot 'standard-component-effective-slot)
      (when (component-slot.backtrack slot)
        (push (cons (mopp:slot-definition-name slot)
                    (component-slot.backtrack slot))
              (component-class.backtrack-slots class)))
      (when (component-slot.component slot)
        (push (cons (mopp:slot-definition-name slot)
                    (component-slot.component slot))
              (component-class.component-slots class)))))
  (setf (component-class.place-slot class) (first (component-class.place-slot class))))

The error is:

Iterate, in (LET ((#1=G32723 #))
 (SETF (COMPONENT-CLASS.BACKTRACK-SLOTS CLASS) #1#)):
The form ((SETF COMPONENT-CLASS.BACKTRACK-SLOTS) #1# CLASS) is not a valid Lisp expression
   [Condition of type SIMPLE-ERROR]


As I haven't got enough commonlisp knowhow to figure out the problem, I can only
assume it's related to those pushes. These macroexpand to forms like:

(LET*
 ((#:G8373
   (CONS (CLOS:SLOT-DEFINITION-NAME SLOT) (COMPONENT-SLOT.BACKTRACK SLOT))))
 (LET* ((#:G8372 CLASS))
  ((SETF COMPONENT-CLASS.BACKTRACK-SLOTS)
   (CONS #:G8373 (COMPONENT-CLASS.BACKTRACK-SLOTS #:G8372)) #:G8372)))


Any ideas on what may be going on?

By the way, if you plan to make ucw a bit more userfriendly to windows
developers, arch shouldn't be the way to go, as it creates too long filenames
and makes the folder unusable... Right now I have to use a linux machine, remove
the arch directories and copy the result to windows!

Thanks!
  
-- 
Edgar Gonçalves
Portugal



More information about the bese-devel mailing list