=> ((fn [a] (backtick/template (fn [b] (+ ~(inc a) (* b b))) ) ) 5) (fn [b] (+ 6 (* b b)))
https://github.com/brandonbloom/backtick => (eval ((fn [a] (backtick/template (fn [b] (+ ~(inc a) (* b b))) ) ) 5)) #<funxions$eval3145$fn__3146 util.funxions$eval3145$fn__3146@4a7c5889> => ((eval ((fn [a] (backtick/template (fn [b] (+ ~(inc a) (* b b))) ) ) 5)) 2) 10 On Sunday, February 24, 2013 4:23:41 AM UTC+1, Larry Travis wrote: > > I am afraid I didn't ask my question clearly. > > > Michael's "solution" would give as output > > (fn [b] (+ (inc a) (* b b))) > > > > What I want as output is > > (fn [b] (+ 6 (* b b))) > > > ... where those expressions within the inner-lambda scope (of the original > nested-lambda expression) that can be evaluated by the binding of the > outer-lambda parameter -- that is, the expressions "a" and "(inc a)" -- > have been fixed with their values, but what is then output is the resulting > Clojure function definition determined by the unevaluatable remainder of > the inner-lambda scope. > > It occurs to me that whether what I am asking for is possible at all > depends on how closures are realized within Clojure, but I think that there > would be a way of realizing them in terms of source code rather than > compiled code -- and that this source code wouldn't be compiled until > values for their open variables become available. > --Larry > > > > > On 2/23/13 5:50 PM, Michael Klishin wrote: > > > 2013/2/24 Larry Travis <tra...@cs.wisc.edu <javascript:>> > >> Is there some way that I can suppress the evaluation of this expression? > > > ((fn [a] > '(fn [b] (+ (inc a) (* b b)))) 5) > -- > MK > > > On 2/23/13 4:50 PM, Larry Travis wrote: > > In Clojure, if I have a function call that asks for return of a function, > for example > > user> ((fn [a] (fn [b] (+ (inc a) (* b b)))) 5) > > I get the function name > > #<user$eval4164$fn__4165$fn__4166 > user$eval4164$fn__4165$fn__4166@29770daa> > > But what I would like to get is an expression that defines this function, > for example > > (fn [b] (+ 6 (* b b))) > > Is there some way that I can suppress the evaluation of this expression? > > --Larry > > > -- -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.