on-the-fly fn creation, arglist, with-meta, :tag

2010-02-24 Thread Jules
Guys, I seem to have thrown myself in at the deep end here ! I'm writing some clojure which interacts very heavily with some pojos, making, hopefully, millions of method invocations a second. I tried : Clojure 1.1.0-new-SNAPSHOT user= (set! *warn-on-reflection* true) true user= (defn fn1 [s]

Re: on-the-fly fn creation, arglist, with-meta, :tag

2010-02-24 Thread Meikel Brandmeyer
Hi, On Feb 24, 12:50 pm, Jules jules.gosn...@gmail.com wrote: user= (let [arg (with-meta 's {:tag String}) arglist [arg] body (list '.length arg)] (eval (list 'fn arglist body))) Reflection warning, NO_SOURCE_PATH:40 - reference to field length can't be resolved. #user$eval__168$fn__170

Re: on-the-fly fn creation, arglist, with-meta, :tag

2010-02-24 Thread Jules
Meikel, Thanks for the quick answer. So I was only one step away from a solution ! I had : user= (let [arg (with-meta 's {:tag String}) arglist [arg] body (list '.length arg)] (eval (list 'fn arglist body))) Reflection warning, NO_SOURCE_PATH:52 - reference to field length can't be resolved.