Re: Symbol evaluation error in let

2010-11-29 Thread Ken Wesson
On Mon, Nov 29, 2010 at 8:31 AM, Sunil S Nandihalli wrote: > Hi Ken, > Just wrapping your macro with the following would save you the trouble of > having to enumerate the local variables ... > (defmacro eval-with-local-bindings [sexp] >   `(eval-with-local-vars ~(apply vector (keys &env)) ~sexp))

Re: Symbol evaluation error in let

2010-11-29 Thread Sunil S Nandihalli
Hi Ken, Just wrapping your macro with the following would save you the trouble of having to enumerate the local variables ... (defmacro eval-with-local-bindings [sexp] `(eval-with-local-vars ~(apply vector (keys &env)) ~sexp)) Sunil. On Mon, Nov 29, 2010 at 6:22 PM, Sunil S Nandihalli < sunil.na

Re: Symbol evaluation error in let

2010-11-29 Thread Sunil S Nandihalli
That was really neat ken ... eval-with-local-vars.. I think it should be part of the core... Sunil. On Sun, Nov 28, 2010 at 8:02 AM, Ken Wesson wrote: > Caveat: since eval-with-local-vars is a macro you won't be able to > directly use it in HOFs. Wrapping it in a closure works, however: > > user

Re: Symbol evaluation error in let

2010-11-27 Thread Ken Wesson
Caveat: since eval-with-local-vars is a macro you won't be able to directly use it in HOFs. Wrapping it in a closure works, however: user=> (let [a 1 b 2] (map #(eval-with-local-vars [a b] %) ['(+ a b) '(* a b)])) (3 2) -- You received this message because you are subscribed to the Google Groups

Re: Symbol evaluation error in let

2010-11-27 Thread Eduardo Julian
Woah. That's as weird as you can get. Thanks, man. -- 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.

Re: Symbol evaluation error in let

2010-11-27 Thread Ken Wesson
On Sat, Nov 27, 2010 at 4:31 PM, Ken Wesson wrote: > On Sat, Nov 27, 2010 at 10:45 AM, Eduardo Julian wrote: >> user=> (let [a 'b] (str a)) >> "b" >> user=> (let [b 5 a 'b] (eval a)) >> java.lang.Exception: Unable to resolve symbol: b in this context >> (repl-1:7) >> user=> (let [a 'b b 5] (eval

Re: Symbol evaluation error in let

2010-11-27 Thread Ken Wesson
On Sat, Nov 27, 2010 at 10:45 AM, Eduardo Julian wrote: > user=> (let [a 'b] (str a)) > "b" > user=> (let [b 5 a 'b] (eval a)) > java.lang.Exception: Unable to resolve symbol: b in this context > (repl-1:7) > user=> (let [a 'b b 5] (eval a)) > java.lang.Exception: Unable to resolve symbol: b in th

Symbol evaluation error in let

2010-11-27 Thread Eduardo Julian
user=> (let [a 'b] (str a)) "b" user=> (let [b 5 a 'b] (eval a)) java.lang.Exception: Unable to resolve symbol: b in this context (repl-1:7) user=> (let [a 'b b 5] (eval a)) java.lang.Exception: Unable to resolve symbol: b in this context (repl-1:9) user=> (def b 5) #'user/b user=> (def a 'b) #'us