Path: utzoo!attcan!uunet!cs.utexas.edu!usc!pollux.usc.edu!burke From: burke@pollux.usc.edu (Sean Burke) Newsgroups: comp.lang.lisp Subject: DeKleer's ATMS: the continuing saga Message-ID: <19224@usc.edu> Date: 17 Aug 89 20:04:32 GMT Sender: news@usc.edu Lines: 39 As regards my previous posting, persons with similar problems using the the code walke are advised to get the latest version of this code from the PCL distribution, which contains a system-specific clause for Coral Common Lisp. Gregor.pa@Xerox.com advises me that an improved version of the walker will be appearing in a month or so. The clause for CCL follows: #+:CORAL (ccl::proclaimed-special-p symbol) That is not the end of it though. The n-queens example in example.lisp calls create-consumer, a macro which is defined as follows: ;;;**** consumer-constructor-macro unnecessary.*** now. (defmacro create-consumer (name arguments &rest variables) `(create-consumer-internal ',name ,arguments (,(intern (format nil "~A-MACRO" name)) ,@variables))) This macro expansion would transform the call (create-consumer N-QUEENS (list (aref queens j) (aref queens i))))) to (create-consumer-internal 'n-queens (...) (|n-queens-MACRO|)) which breaks trying to eval (|n-queens-MACRO), which is naturally an unbound function. I'm completely at a loss as to what's going on here. This should not work on any common lisp. The comment implies that this macro is no longer needed, but it's still referenced in many places. Another wierd thing is that create-consumer-internal calls new-add-conjunctive-[node class]-consumer indirectly, which contain a call to create-consumer. I wonder if this would plunge into infinite recursion. As always, I'm open to any hints. Sean "The nice thing about true hopelessness is that you don't have to try again" - Jules Shear