[cl-unification-cvs] CVS cl-unification
mantoniotti
mantoniotti at common-lisp.net
Thu Dec 17 16:43:12 UTC 2009
Update of /project/cl-unification/cvsroot/cl-unification
In directory cl-net:/tmp/cvs-serv18677
Modified Files:
templates-hierarchy.lisp
Log Message:
Fixed a couple of problems with some accessors in the NUMBER,
STRUCTURE-OBJECT and STANDARD-OBJECT templates.
--- /project/cl-unification/cvsroot/cl-unification/templates-hierarchy.lisp 2009/04/15 10:18:59 1.5
+++ /project/cl-unification/cvsroot/cl-unification/templates-hierarchy.lisp 2009/12/17 16:43:12 1.6
@@ -407,6 +407,23 @@
(cons (second spec)))))
+(defun number-template-numeric-type (x)
+ (declare (type number-template x))
+ (let ((n (number-template-number x)))
+ (if (numberp n)
+ (type-of n)
+ (first (template-spec x)))))
+
+(defun number-template-numeric-class (x)
+ (declare (type number-template x))
+ (let ((n (number-template-number x)))
+ (if (numberp n)
+ (class-of n)
+ (find-class (first (template-spec x))))))
+
+
+
+
;;; Sequence Templates.
;;; Specification is
;;;
@@ -493,11 +510,19 @@
;;; Structure and Standard Object Templates.
+(defun structure-object-template-class (x)
+ (and (structure-object-template-p x)
+ (first (template-spec x))))
+
(defun structure-object-template-slots (x)
(and (structure-object-template-p x)
(rest (template-spec x))))
+(defun standard-object-template-class (x)
+ (and (standard-object-template-p x)
+ (first (template-spec x))))
+
(defun standard-object-template-slots (x)
(and (standard-object-template-p x)
(rest (template-spec x))))
More information about the Cl-unification-cvs
mailing list