[cl-utilities-cvs] CVS update: cl-utilities/compose.lisp

Peter Scott pscott at common-lisp.net
Fri May 13 19:17:40 UTC 2005


Update of /project/cl-utilities/cvsroot/cl-utilities
In directory common-lisp.net:/tmp/cvs-serv32649

Modified Files:
	compose.lisp 
Log Message:
Fixed some problems with the benchmarking code and some comments.

Date: Fri May 13 21:17:39 2005
Author: pscott

Index: cl-utilities/compose.lisp
diff -u cl-utilities/compose.lisp:1.2 cl-utilities/compose.lisp:1.3
--- cl-utilities/compose.lisp:1.2	Tue May 10 21:45:34 2005
+++ cl-utilities/compose.lisp	Fri May 13 21:17:38 2005
@@ -23,16 +23,16 @@
 		   , at body))))
     ;; Make sure the compiler macro gets run
     (declare (optimize (speed 3) (safety 0) (space 0) (debug 1)))
-    (time (repeat (3000000) (funcall (compose #'1+ #'2* '1+) 6)))
-    (time (repeat (3000000) (funcall (lambda (x) (1+ (2* (1+ x)))) 6)))
-    (time (repeat (3000000)
+    (time (repeat (30000000) (funcall (compose #'1+ #'2* #'1+) 6)))
+    (time (repeat (30000000) (funcall (lambda (x) (1+ (2* (1+ x)))) 6)))
+    (time (repeat (30000000)
 		  (funcall (lambda (x)
-			     (funcall #'1+ (funcall #'2* (funcall '1+ x))))
+			     (funcall #'1+ (funcall #'2* (funcall #'1+ x))))
 			   6)))))
 
 ;; Converts calls to COMPOSE to lambda forms with everything written
 ;; out and some things written as direct function calls.
-;; Example: (compose '1+ #'2* '1+) => (LAMBDA (X) (1+ (2* (1+ X))))
+;; Example: (compose #'1+ #'2* #'1+) => (LAMBDA (X) (1+ (2* (1+ X))))
 (define-compiler-macro compose (&rest functions)
   (labels ((sharp-quoted-p (x)
 	     (and (listp x)
@@ -40,7 +40,7 @@
 		  (symbolp (second x)))))
     `(lambda (x) ,(reduce #'(lambda (fun arg)
 			      (if (sharp-quoted-p fun)
-   				  (list (second fun) arg)
+				  (list (second fun) arg)
 				  (list 'funcall fun arg)))
 			  functions
 			  :initial-value 'x




More information about the Cl-utilities-cvs mailing list