[Bese-devel] compile-op error on backtracking.lisp

Lou Vanek vanek at acd.net
Tue Jun 13 07:27:12 UTC 2006


Short answer: this is probably no big deal.

Long answer: you can probably turn this off by setting
*warn-undefined* to nil in start.lisp. Whenever a ucw file
is compiled and sees "with-call/cc" a special code walker
is invoked that parses all the code within the "with-call/cc"
scope. Sometimes it doesn't know about variables and functions
outside this scope and issues this warning.

You can test to make sure this code is working properly by running
the QUICKSTART Hello application. If you can get this program to
greet you a few times then you know continuations are working
properly.

I'm running Clisp and I don't get this warning (for reasons I'm
not wholely aware of), but Clisp brings its own bundle of problems
to the table.

Lou Vanek
--
Man will occasionally stumble over the
truth, but most of the time he will pick himself up and continue on.
   Winston Churchill

Dan Beauchesne wrote:

> Hi all,
> 
> Please bear with me, I'm new to lisp.
> 
> My setup:
> SBCL 0.9.13.30 (on debian etch)
> ucw_dev latest (ie. today)
> 
> I've downloaded all the UCW dependencies and made sure they are
> loadable by ASDF. When I try to load the start.lisp file, it seems to
> be going fine for some time and then the slime debugger pops up with a
> compile-op error on backtracking.lisp.
> 
> So when I do a (compile-file "/path/to/rerl/backtracking.lisp")
> I get:
> 
> ; compiling (IN-PACKAGE :IT.BESE.UCW)
> ; compiling (DEFMACRO MAKE-PLACE ...)
> ; compiling (DEFMETHOD PLACE ...)
> 
> ; file: /home/dan/src/ucw_dev/src/rerl/backtracking.lisp
> ; in: DEFMETHOD PLACE (PLACE)
> ;     (DEFMETHOD IT.BESE.UCW::PLACE
> ;              ((IT.BESE.UCW::PLACE IT.BESE.UCW::PLACE))
> ;              "Returns the current value of PLACE."
> ;              (ETYPECASE (IT.BESE.UCW::PLACE.GETTER IT.BESE.UCW::PLACE)
> ;                (FUNCTION
> ;                 (FUNCALL (IT.BESE.UCW::PLACE.GETTER IT.BESE.UCW::PLACE)))
> ;                (IT.BESE.ARNESI::CLOSURE/CC
> ;                 (IT.BESE.ARNESI:WITH-CALL/CC (FUNCALL #)))))
> ; 
> ; caught WARNING:
> ;   Reference to unknown variable PLACE.
> 
> ; compiling (DEFMETHOD (SETF PLACE) ...)
> 
> ; file: /home/dan/src/ucw_dev/src/rerl/backtracking.lisp
> ; in: DEFMETHOD (SETF PLACE) (T PLACE)
> ;     (DEFMETHOD (SETF IT.BESE.UCW::PLACE)
> ;              (IT.BESE.UCW:VALUE (IT.BESE.UCW::PLACE IT.BESE.UCW::PLACE))
> ;              "Set the value of PLACE to VALUE."
> ;              (ETYPECASE (IT.BESE.UCW::PLACE.SETTER IT.BESE.UCW::PLACE)
> ;                (FUNCTION
> ;                 (FUNCALL (IT.BESE.UCW::PLACE.SETTER IT.BESE.UCW::PLACE)
> ;                          IT.BESE.UCW:VALUE))
> ;                (IT.BESE.ARNESI::CLOSURE/CC
> ;                 (IT.BESE.ARNESI:WITH-CALL/CC (FUNCALL # IT.BESE.UCW:VALUE)))))
> ; 
> ; caught WARNING:
> ;   Reference to unknown variable PLACE.
> ; 
> ; caught WARNING:
> ;   Reference to unknown variable VALUE.
> 
> ; compiling (DEFMETHOD CLONE-PLACE-VALUE ...)
> ; compiling (DEFCONSTANT +UNBOUND-VALUE+ ...)
> ; compiling (DEFMETHOD SAVE-BACKTRACKED ...)
> ; compiling (DEFMETHOD REINSTATE-BACKTRACKED ...)
> ; compiling (DEFUN CLONE-BACKTRACKS ...)
> ; compiling (DEFMETHOD BACKTRACK ...)
> ; compiling (DEFMETHOD BACKTRACK-SLOT ...); 
>                                           ; compilation unit finished
>                                           ;   caught 3 WARNING conditions
> 
> ; /home/dan/src/ucw_dev/src/rerl/backtracking.fasl written
> ; compilation finished in 0:00:00
> #P"/home/dan/src/ucw_dev/src/rerl/backtracking.fasl"
> T
> 
> I have a feeling this is just a stupid error on my part, as ucw-boxset
> works just fine. But after double-checking my dependencies and
> re-reading the README, I'm not sure what it is.
> 
> Thanks guys
> 
> --
> 
> Dan Beauchesne
> dbeauchesne -at- gmail -dot- com
> _______________________________________________
> bese-devel mailing list
> bese-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/bese-devel
> 




More information about the bese-devel mailing list