[movitz-cvs] CVS update: movitz/eval.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Wed Apr 14 21:56:08 UTC 2004


Update of /project/movitz/cvsroot/movitz
In directory common-lisp.net:/tmp/cvs-serv1920

Modified Files:
	eval.lisp 
Log Message:
Re-wrote movitz-constantp more reasonably.

Date: Wed Apr 14 17:56:08 2004
Author: ffjeld

Index: movitz/eval.lisp
diff -u movitz/eval.lisp:1.5 movitz/eval.lisp:1.6
--- movitz/eval.lisp:1.5	Tue Apr 13 12:30:36 2004
+++ movitz/eval.lisp	Wed Apr 14 17:56:08 2004
@@ -9,7 +9,7 @@
 ;;;; Created at:    Thu Nov  2 17:45:05 2000
 ;;;; Distribution:  See the accompanying file COPYING.
 ;;;;                
-;;;; $Id: eval.lisp,v 1.5 2004/04/13 16:30:36 ffjeld Exp $
+;;;; $Id: eval.lisp,v 1.6 2004/04/14 21:56:08 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -59,11 +59,7 @@
 (defun movitz-constantp (form &optional (environment nil))
   (let ((form (translate-program form :cl :muerte.cl)))
     (typecase form
-      (boolean t)
-      (number t)
       (keyword t)
-      (character t)
-      (string t)
       (symbol (or (movitz-env-get form 'constantp nil environment)
 		  (typep (movitz-binding form environment) 'constant-object-binding)))
       (cons (case (car form)
@@ -73,7 +69,8 @@
 	      ((muerte.cl:+ muerte.cl:- muerte.cl:*)
 	       (every (lambda (sub-form)
 			(movitz-constantp sub-form environment))
-		      (cdr form))))))))
+		      (cdr form)))))
+      (t t))))				; anything else is self-evaluating.
 
 
 (defun isconst (x)





More information about the Movitz-cvs mailing list