Here's the macro I used when I dabbled in Genetic Programming: user> (time (dotimes [_ 1000] (intern 'user 'x (rand)) (eval '(+ (* x x) 5)))) "Elapsed time: 425.754877 msecs"
user> (defmacro capture-vars [vars expr] `(fn [...@vars] ~(first (next expr)))) #'user/capture-vars user> (time (let [f (eval (capture-vars [x] '(+ (* x x) 5)))] (dotimes [_ 1000000];note the iterations! (f (rand))))) "Elapsed time: 73.936157 msecs" -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en