[movitz-cvs] CVS movitz

ffjeld ffjeld at common-lisp.net
Sun Apr 27 19:14:54 UTC 2008


Update of /project/movitz/cvsroot/movitz
In directory clnet:/tmp/cvs-serv29457

Modified Files:
	compiler-types.lisp 
Log Message:
Complex type.


--- /project/movitz/cvsroot/movitz/compiler-types.lisp	2006/11/08 08:57:05	1.26
+++ /project/movitz/cvsroot/movitz/compiler-types.lisp	2008/04/27 19:14:54	1.27
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Wed Sep 10 00:40:07 2003
 ;;;;                
-;;;; $Id: compiler-types.lisp,v 1.26 2006/11/08 08:57:05 ffjeld Exp $
+;;;; $Id: compiler-types.lisp,v 1.27 2008/04/27 19:14:54 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -233,15 +233,19 @@
 ;;;
 
 (defparameter *tb-bitmap*
-    '(hash-table character function cons keyword symbol vector array integer ratio :tail)
+  '(hash-table character function cons keyword symbol vector array integer ratio complex :tail)
   "The union of these types must be t.")
 
 (defun basic-typep (x type)
   (ecase type
     (hash-table
      (and (typep x 'movitz-struct)
-	  (eq (movitz-read 'muerte.cl:hash-table)
-	      (slot-value x 'name))))
+	  (eq (muerte::movitz-find-class 'muerte.cl:hash-table)
+	      (slot-value x 'class))))
+    (complex
+     (and (typep x 'movitz-struct)
+	  (eq (muerte::movitz-find-class 'muerte.cl:complex)
+	      (slot-value x 'class))))
     (character
      (typep x 'movitz-character))
     (function
@@ -366,7 +370,7 @@
 		 (or (type-code-p 'integer code)
 		     (and integer-range
 			  (numscope-memberp integer-range (movitz-bignum-value x)))))
-		(t (dolist (bt '(symbol character function cons hash-table vector ratio)
+		(t (dolist (bt '(symbol character function cons hash-table vector ratio complex)
 			     (error "Cant decide typep for ~S." x))
 		     (when (basic-typep x bt)
 		       (return (type-code-p bt code))))))




More information about the Movitz-cvs mailing list