Wed Apr 15 10:18:59 UTC 2009 mantoniotti * Added LAMBDA-TEMPLATE. diff -rN -u old-cl-unification-1/templates-hierarchy.lisp new-cl-unification-1/templates-hierarchy.lisp --- old-cl-unification-1/templates-hierarchy.lisp 2013-07-24 17:42:25.000000000 +0000 +++ new-cl-unification-1/templates-hierarchy.lisp 2013-07-24 17:42:25.000000000 +0000 @@ -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))