[cl-unification-devel] Problems unifying with a list

John Leuner jewel at subvert-the-dominant-paradigm.net
Thu Aug 31 05:50:45 UTC 2006


The attached code fails in SBCL with:

Cannot unify a BIT and a SYMBOL: 1
CL.EXT.DACF.UNIFICATION:MAKE-TEMPLATE.
   [Condition of type CL.EXT.DACF.UNIFICATION::UNIFICATION-FAILURE]

Restarts:
  0: [ABORT-REQUEST] Abort handling SLIME request.
  1: [TERMINATE-THREAD] Terminate this thread (#<THREAD
"repl-thread" {C74F071}>)

Backtrace:
  0: ((SB-PCL::FAST-METHOD CL.EXT.DACF.UNIFICATION:UNIFY (T T))
#<unavailable argument> #<unavailable argument> 1
CL.EXT.DACF.UNIFICATION:MAKE-TEMPLATE (#<EMPTY UNIFY E$
  1: ((SB-PCL::FAST-METHOD CL.EXT.DACF.UNIFICATION:UNIFY (LIST LIST))
#<unavailable argument> #<unavailable argument> (1 2 3)
(CL.EXT.DACF.UNIFICATION:MAKE-TEMPLATE (QU$
  2: ((SB-PCL::FAST-METHOD CL.EXT.DACF.UNIFICATION:UNIFY
(STANDARD-OBJECT CL.EXT.DACF.UNIFICATION::STANDARD-OBJECT-TEMPLATE))
#<unavailable argument> #<unavailable argu$
  3: (TEST)

John

-------------- next part --------------
(defclass test1 () ((a :initarg :a :accessor a)
		    (b :initarg :b :accessor b)))

(defun test ()
  (let ((env (unify:unify #T(test1 a #T(list 1 ?x 3 &rest) b "woot")
			  (make-instance 'test1 :a '(1 2 3) :b "woot"))))
    (unify:find-variable-value '?x env)))



More information about the cl-unification-devel mailing list