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

Marco Antoniotti marcoxa at cs.nyu.edu
Thu Aug 31 15:42:41 UTC 2006


Hi

this is a consequence of the change that was introduced in the last 
round the "inner" template is not evaluated.

Let me see if there is an easy fix for this.

Marco



John Leuner wrote:
> 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
> 
> 
> 
> ------------------------------------------------------------------------
> 
> (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)))
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> cl-unification-devel site list
> cl-unification-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cl-unification-devel




More information about the cl-unification-devel mailing list