Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv14191
Modified Files: eval.lisp Log Message: Teach movitz-eval and movitz-constantp about coerce.
Date: Wed Jul 21 07:14:29 2004 Author: ffjeld
Index: movitz/eval.lisp diff -u movitz/eval.lisp:1.6 movitz/eval.lisp:1.7 --- movitz/eval.lisp:1.6 Wed Apr 14 14:56:08 2004 +++ movitz/eval.lisp Wed Jul 21 07:14:29 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.6 2004/04/14 21:56:08 ffjeld Exp $ +;;;; $Id: eval.lisp,v 1.7 2004/07/21 14:14:29 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -66,7 +66,7 @@ ((muerte.cl:quote) t) ((muerte.cl:not) (movitz-constantp (second form))) - ((muerte.cl:+ muerte.cl:- muerte.cl:*) + ((muerte.cl:+ muerte.cl:- muerte.cl:* muerte.cl:coerce) (every (lambda (sub-form) (movitz-constantp sub-form environment)) (cdr form))))) @@ -146,5 +146,9 @@ (apply (translate-program (car form) :muerte.cl :cl) (mapcar (lambda (sub-form) (movitz-eval sub-form env nil)) + (cdr form)))) + ((muerte.cl:coerce) + (apply #'coerce + (mapcar (lambda (arg) (movitz-eval arg env nil)) (cdr form)))) (t (error "Don't know how to compile constant compound form ~A" form))))