[cl-unification-cvs] CVS update: cl-unification/unifier.lisp

Marco Antoniotti mantoniotti at common-lisp.net
Tue Oct 25 19:17:34 UTC 2005


Update of /project/cl-unification/cvsroot/cl-unification
In directory common-lisp.net:/tmp/cvs-serv5468

Modified Files:
	unifier.lisp 
Log Message:
Fixed problem with the unification of a list with a
SEQUENCE-TEMPLATE.  The implementation was not checking that the
length of the list was compatible with the length of the required
elements in the template.

Apart from that, keyword matching is still unimplemented.

Date: Tue Oct 25 21:17:33 2005
Author: mantoniotti

Index: cl-unification/unifier.lisp
diff -u cl-unification/unifier.lisp:1.3 cl-unification/unifier.lisp:1.4
--- cl-unification/unifier.lisp:1.3	Fri May 20 17:19:53 2005
+++ cl-unification/unifier.lisp	Tue Oct 25 21:17:33 2005
@@ -331,7 +331,9 @@
       
       (let* ((n-vars (list-length vars))
              (n-optionals (list-length optionals))
-             (env (unify (subseq a 0 (list-length vars)) vars env))
+             (env (unify (subseq a 0 (min ll (list-length vars)))
+			 vars
+			 env))
              )
         (when (and optionals (>= ll (+ n-vars n-optionals)))
           (setf env (unify (subseq a n-vars (+ n-vars n-optionals)) optionals env)))




More information about the Cl-unification-cvs mailing list