The following test case still fails (with this patch),
(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)))
Any ideas on how to fix it?
John
On Oct 19, 2006, at 4:44 PM, Vladimir V. Korablin wrote:
Hello cl-unification-devel,
The MATCH macro is currently broken with respect to `#T' templates:
CL-USER> (unify::match (#T(list ?x &rest ?rest) '(1 2 3 4)) ?x) NIL
Attached is a patch that fixes this problem.
-- Best regards, Vladimir mailto:vkorablin@lemial.net<cl- unification.patch>_______________________________________________ cl-unification-devel site list cl-unification-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cl-unification-devel
Marco Antoniotti
cl-unification-devel site list cl-unification-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/cl-unification-devel