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))
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
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
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
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.
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
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
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