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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en