On Thu, Jun 2, 2011 at 10:06 PM, nil <[email protected]> wrote: > Hi > > Here's another macro-noob question. (Thanks for the help on the > previous question and please do let me know if stackoverflow is a more > appropriate place to ask noob questions.) > > I'm trying to write a macro (or a function) that defines/declares > specifically named functions. In (let [eff "gee"] (foo eff)) I want > the macro foo to define/declare a function called foo-gee, not foo- > eff. What should I do differently?
The problem here is that macros run at compile time, but let bindings exist at run time. If you need the name to be determined at run time you will need to use eval. If you don't need the name at run time, why are you using (let [eff "gee"] (foo eff)) and not simply (foo gee)? Please state your requirements clearly. -- Protege: What is this seething mass of parentheses?! Master: Your father's Lisp REPL. This is the language of a true hacker. Not as clumsy or random as C++; a language for a more civilized age. -- 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
