Update of /project/cl-unification/cvsroot/cl-unification In directory cl-net:/tmp/cvs-serv27591
Modified Files: templates-hierarchy.lisp Log Message: Added LAMBDA-TEMPLATE.
--- /project/cl-unification/cvsroot/cl-unification/templates-hierarchy.lisp 2008/07/13 13:10:48 1.4 +++ /project/cl-unification/cvsroot/cl-unification/templates-hierarchy.lisp 2009/04/15 10:18:59 1.5 @@ -1,4 +1,6 @@ -;;; -*- Mode: Lisp -*- +;;;; -*- Mode: Lisp -*- + +;;;; templates-hierarchy.lisp --
(in-package "CL.EXT.DACF.UNIFICATION") ; DACF = Data And Control Flow.
@@ -121,6 +123,15 @@ (:method ((x list-template)) t) (:method ((x t)) nil))
+ +(defclass lambda-template (list-template expression-template) ()) + +(defgeneric lambda-template-p (x) + (:method ((x lambda-template)) t) + (:method ((x t)) nil)) + + + (defclass array-template (type-template) ())
(defgeneric array-template-p (x) @@ -332,6 +343,9 @@ (defmethod make-template ((kind (eql 'list)) (spec cons)) (make-instance 'list-template :spec spec))
+(defmethod make-template ((kind (eql 'lambda)) (spec cons)) + (make-instance 'lambda-template :spec spec)) + (defmethod make-template ((kind (eql 'vector)) (spec cons)) (make-instance 'vector-template :spec spec))